Flint Particle粒子入门教程(三):三维粒子实例之烟花效果

http://www.newflash3d.com---flash3D先锋队:北京贝武易科技公司】
有疑问请联系我QQ:363596350
下面我们建立一个烟花粒子特效。
我们这里说说我们的结构思路,基本上我们由下面的文件组成:

fireworkFlex002.mxml---Flex的主程序文件
myCanvas3D-----画布的组件文件包
org---------Flint Particle类包
Main-----烟花程序的运行文件包
SphereBang.as---烟花发射器样式类(炸开的圆形烟花粒子)
Whizzer.as-----烟花发射器样式类(上升的烟花粒子)
这样我们所需的所有的粒子结构就完成了。
Main把SphereBang.as和Whizzer.as放进来渲染出来,加到显示画布上,fireworkFlex002.mxml通过生成Main的对象提供了供Main使用的画布。
那么我们就按这个思路来建立我们的应用程序了。
好,先建立一个Whizzer.as的粒子发射器,这个类继承自Emitter3D,布置好环境后,生成一个新的as类,

它继承自org.flintparticles.threeD.emitters.Emitter3D

最终如图:

这样我们算是建立一个基本的粒子发射器:
package
{
	import org.flintparticles.threeD.emitters.Emitter3D;

	public class Whizzer extends Emitter3D
	{
		public function Whizzer()
		{
			super();
		}
		
	}
}

但是粒子的许多属性我们都还没有建立,例如粒子是什么样子的?在什么位置?它的速度?它的颜色等等,这些因素我们主要在粒子的类里建立起来。
为了便于测试效果,我们需要把Main.as主程序也完善,加上渲染器等元素。
我们这里用BitmapRenderer类型渲染器,详细的知识请参阅 http://flintparticles.org/docs/关于BitmapRenderer的知识点。
需要注意的是位图渲染器(BitmapRenderer)内置了一个摄像机(camera)。默认的情况下鼠标事件是不激活的,我们需要手动激活鼠标事件。
它的构造函数:
BitmapRenderer(canvas:Rectangle, zSort:Boolean = true, smoothing:Boolean = false)

第一个canvas为画布,控制了粒子的显示范围;
zSort:z轴粒子的排列,默认为true;
smoothing:滤波效果,默认不启用。
我们的Main的代码如下:
/**
 * Main只是一个框架结构
 * 
 */
package
{
	import flash.display.Sprite;
	import flash.geom.Rectangle;
	
	import org.flintparticles.threeD.renderers.BitmapRenderer;

	public class Main
	{
		private var _sCanvas:Sprite;
		//Flint Particle粒子基本元素的建立(渲染器和粒子发射器)
		private var render:BitmapRenderer;
		private var emitter:Whizzer;
		public function Main(_sCanvas:Sprite):void
		{
			super();
			this._sCanvas=_sCanvas;
			//生成基本的元素并加到画布上
			render=new BitmapRenderer(new Rectangle(-200,-200,400,400));//生成渲染器
			emitter=new Whizzer();//生成粒子发射器
			emitter.start();//启动粒子发射器
			render.x=200;//定好渲染器的位置
			render.y=200;
			render.addEmitter(emitter);//把粒子发射器发到渲染器上
			_sCanvas.addChild(render);//把渲染器加到场景去
			
		}
		
	}
}

这里大家需要注意new Rectangle(-200,-200,400,400)的值与render.x=200;render.y=200;之间的关系,在Rectangle范围之外的粒子是不显示的。

   到这个阶段,一个基本的框架就搭建起来了,下面我们需要去细化我们的Whizzer粒子发射器。
粒子系统有两个主要的修改器:
Initializers(初始化修改器)-一次性的控制粒子初始生成时候的属性,也就是初始属性;
Actions(行为控制器)---是控制粒子在运行中的属性。
所以我们需要给粒子增加这两大类修改器。

待续!----------















你可能感兴趣的:(框架,qq,Flex,Flash)