Flex 结合sandy引擎创造

/Files/hero82748274/ddd.swf

这次使用Flex 与sandy引擎库进行一个简单3d模拟。在制作过程中使用了flex一些组件配置一些内嵌图片进行贴图。

Code

 

 

一,创建了一个立方体后,在原有基础上,增加一个鼠标互动。

  addEventListener(MouseEvent.MOUSE_WHEEL ,mouseWheel);

private function mouseWheel(event:MouseEvent):void
  {  
     if (event.delta>0)
   {
    camera.z+=12;//向前滚动的时候向前滚动
   } else
   {
    camera.z-=12;//向后滚动
   }
  
  }

 

使用鼠标滑轮让立方体产生一种透视的感觉,好像摄影机推镜和拉镜一样。

 

二,我们希望在程序加上键盘交互?

  this.addEventListener(KeyboardEvent.KEY_DOWN,keydown);
  ui.setFocus();

 

 

三,如何进行皮肤贴图?

我们希望为立方体创建贴图

 [Embed(source="skin.jpg")]
           [Bindable]
           public var imgCls:Class;// 嵌入图片资源
           
           private var bt:Bitmap=new imgCls() as Bitmap;

使用Embed外部嵌入一张名为skin.jpg的图片转换一个Class类。这样我们可以转换我们希望的位图类。

接下来,使用sandy类为我们提供的位图贴图材质,把我的之前转换的位图bt.bitmapData,作为参传递过去。

 var material2:Material=new  BitmapMaterial(bt.bitmapData);//创建图片贴图

 app2=new Appearance(material2); //指定表面材质

 

四。如何进行换皮肤?

在程序里面放入一个combox

使用combox 选择我们的皮肤

 <mx:ComboBox  id="mycombox"   change="seletSkin(event)" focusEnabled="false" dataProvider="{myxml..myskin}" x="594" y="66"></mx:ComboBox>

利用combox选择来切换皮肤。

效果图:

flex sandy

 

下面是一个利用flash来创建一个图形

posted on 2009-02-12 09:24  夏天的树人  阅读(915)  评论(0编辑  收藏  举报