阳光VIP

少壮不努力,老大徒伤悲。平日弗用功,自到临期悔。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

flex 结合sandy引擎创作

Posted on 2012-02-17 20:04  阳光VIP  阅读(152)  评论(0编辑  收藏  举报

使用flex 结合sandy 引擎来创造一些3d物体,感觉还是不错。

sandy

制作步骤:

把sandy 引擎相关的文件导入相关的包到flex到project里面去。

初始化的时候,我们首先在场景里面拖动一个Canvas 容器,在容器里面添加子组件去

注意:

scenne=new Scene3D("scene1", sprite,camera,root);

第二个参数,在使用flash ide 开发的时候,我们只是用this来指定第二个参数。 因为this 代表sprite类对象的引用

scenne=new Scene3D("scene1",this,camera,root);//创建带摄像机的场景

对比一下使用ide创建一个立方体的:

区别在于上面所学到sprite类的对象。

要在flex里面显示我们创建的立方体。首先要指定一个sprite对象

如果不是就会出现以下错误:

强制转换类型失败:无法将 flash.display::Sprite@1726041 转换为 mx.core.IUIComponent。

 因为 mx:Application 本身就是一个组件,如果在使用addChild 创建子项,也就是

   var  sprite:Sprite=new Sprite();
       addChild( sprite);

sprite对象已经在Application 组件里面了 ,但是flash.display sprite对象无法 添加到Application 里面去

为了显示我们所创建的立方体,我们自己定义了一组件,并将sprite对象添加到容器里面去作为他的子项目

而通过Canvas容器,把自己创建的组件也添加到容器里面作为父级容器。

  var ui:UIComponent=new UIComponent();//创建一个组件     
       var  sprite:Sprite=new Sprite();
      ui.addChild( sprite);
        canvas.addChild(ui);//添加容器 

Canvas容器---> ui---->--sprite

这样 显示的效果就出来了