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

本文介绍如何使用FisixEngine在Flex平台上实现简单的物理效果模拟,包括添加圆形粒子和表面对象,以及设置重力等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 一、添加简单对象

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

看下面的一些简单演示:

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(); //启动渲染 } } }

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

import com.fileitup.fisixengine.core.*; import com.fileitup.fisixengine.particles.CircleParticle; import flash.display.Sprite;

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

第二步:程序的入口

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);//添加表面
   

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

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(); //启动渲染 } } }

圆2

简单一个效果出来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值