flash物理引擎應用:FisixObject類(1)

來源:互聯網
上載者:User

 一、添加簡單對象

進入這個類的時候,我們可以發現裡面有很多的建立對象和移除對象的方法,為了類比物理效果,我們首先嘗試添加一些對象到引擎裡面類比。如圓,方形等一些常見的粒子

看下面的一些簡單示範:

package {<br />import com.fileitup.fisixengine.core.*;<br />import com.fileitup.fisixengine.particles.CircleParticle;</p><p>import flash.display.Sprite;<br /> public class Example3 extends Sprite<br />{<br />private var myEngine:FisixEngine;<br />private var fixobject:FisixObject;<br />public function Example3()<br />{<br />init();<br />}</p><p>private function init():void<br />{<br /> myEngine=new FisixEngine();<br /> fixobject=myEngine.newFisixObject();//建立一個fisixobject<br /> var partic:CircleParticle=fixobject.newCircleParticle(50,50,50);//添加一個圓50半徑的圓</p><p> myEngine.setGravity(0,1);//設定重力的方向<br /> myEngine.setRender(true);//渲染<br /> myEngine.setRenderGraphics(graphics);<br /> myEngine.startEngine();//啟動渲染<br />}<br />}<br />}<br />

第一步:匯入我們所需要的類庫

import com.fileitup.fisixengine.core.*;<br /> import com.fileitup.fisixengine.particles.CircleParticle;</p><p> 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 {<br />import com.fileitup.fisixengine.core.*;<br />import com.fileitup.fisixengine.particles.CircleParticle;<br />import com.fileitup.fisixengine.primitives.Surface;</p><p>import flash.display.Sprite;<br />[SWF(width='700',height='500',backgroundColor='0xFFFFFF',frameRate='30')]<br /> public class Example3 extends Sprite<br />{<br />private var myEngine:FisixEngine;<br />private var fixobject:FisixObject;<br />public function Example3()<br />{<br />init();<br />}</p><p>private function init():void<br />{<br /> myEngine=new FisixEngine();<br /> fixobject=myEngine.newFisixObject();//建立一個fisixobject<br /> var partic:CircleParticle=fixobject.newCircleParticle(50,50,50);//添加一個圓50半徑的圓<br /> var surface:Surface=fixobject.newSurface(new Vector(0,200),new Vector(500,300),50);//添加表面</p><p> myEngine.setGravity(0,3);//設定重力的方向<br /> myEngine.setRender(true);//渲染<br /> myEngine.setRenderGraphics(graphics);<br /> myEngine.startEngine();//啟動渲染<br />}<br />}<br />}<br />

 

簡單一個效果出來了

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.