flash物理引擎应用:FisixObject类(1)

 一、添加简单对象

进入这个类的时候,我们可以发现里面有很多的创建对象和移除对象的方法,为了模拟物理效果,我们首先尝试添加一些对象到引擎里面模拟。如圆,方形等一些常见的粒子

看下面的一些简单演示:

<textarea cols="50" rows="15" name="code" class="c-sharp">package { import com.fileitup.fisixengine.core.*; import com.fileitup.fisixengine.particles.CircleParticle; import flash.display.Sprite; public class Example3 extends Sprite { private var myEngine:FisixEngine; private var fixobject:FisixObject; public function Example3() { init(); } private function init():void { myEngine=new FisixEngine(); fixobject=myEngine.newFisixObject();//创建一个fisixobject var partic:CircleParticle=fixobject.newCircleParticle(50,50,50);//添加一个圆50半径的圆 myEngine.setGravity(0,1);//设置重力的方向 myEngine.setRender(true);//渲染 myEngine.setRenderGraphics(graphics); myEngine.startEngine(); //启动渲染 } } } </textarea>

第一步:导入我们所需要的类库

<textarea cols="50" rows="15" name="code" class="c-sharp">import com.fileitup.fisixengine.core.*; import com.fileitup.fisixengine.particles.CircleParticle; import flash.display.Sprite;</textarea>

我们所使用的类库不多,仅仅使用了两个一个是核心类,一个是粒子类

 

 

第二步:程序的入口

myEngine=new  FisixEngine();

 

 

 

第三步:创建一个FisixObject对象,通过myEngine引入一个FisixObject对象到引擎当中。

 fixobject=myEngine.newFisixObject();//创建一个fisixobject

 

 

 

第四步:创建一个圆

 var partic:CircleParticle=fixobject.newCircleParticle(50,50,50);//添加一个圆50半径的圆,坐标为(50,50)

 

 

第五步:渲染和启动引擎

 myEngine.setGravity(0,1);//设置重力的方向
 myEngine.setRender(true);//渲染
 myEngine.setRenderGraphics(graphics);
 myEngine.startEngine(); //启动引擎

 

效果:一个简单小球运行了

 

 

 

注意:(使用的开发平台为Flex+FisixEngine.swc)

 

 

二,添加一个表面

 

我们在原有的基础上添加一个表面,也就是说我们要为我们下滑的圆的,添加一个阻碍物。

 

  var surface:Surface=fixobject.newSurface(new  Vector(0,200),new Vector(500,300),50);//添加表面
   

代码清单:代码仅仅加多一行

 

<textarea cols="50" rows="15" name="code" class="c-sharp">package { import com.fileitup.fisixengine.core.*; import com.fileitup.fisixengine.particles.CircleParticle; import com.fileitup.fisixengine.primitives.Surface; import flash.display.Sprite; [SWF(width='700',height='500',backgroundColor='0xFFFFFF',frameRate='30')] public class Example3 extends Sprite { private var myEngine:FisixEngine; private var fixobject:FisixObject; public function Example3() { init(); } private function init():void { myEngine=new FisixEngine(); fixobject=myEngine.newFisixObject();//创建一个fisixobject var partic:CircleParticle=fixobject.newCircleParticle(50,50,50);//添加一个圆50半径的圆 var surface:Surface=fixobject.newSurface(new Vector(0,200),new Vector(500,300),50);//添加表面 myEngine.setGravity(0,3);//设置重力的方向 myEngine.setRender(true);//渲染 myEngine.setRenderGraphics(graphics); myEngine.startEngine(); //启动渲染 } } } </textarea>

 

flash物理引擎应用:FisixObject类(1)_第1张图片

简单一个效果出来了

 

 

 

 

你可能感兴趣的:(flash物理引擎应用:FisixObject类(1))