【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(行为控制器)---是控制粒子在运行中的属性。
所以我们需要给粒子增加这两大类修改器。
待续!----------
- 大小: 6.8 KB
- 大小: 36.3 KB
- 大小: 86.3 KB
- 大小: 46.1 KB
分享到:
相关推荐
-flint粒子系统-飞翔的乌鸦flash 3d(http://www.uncle3d.com)
BornGrass-flint粒子系统-完美的草丛flash 3d(http://www.uncle3d.com)
Flint-前端入门套件v.1 该工具包使用进行一些强大CSS预处理。浏览器支持如何使用这个套件学分致谢Flint是的项目。
Jim Donahue是Adobe系统技术实验室主要科学家,主要研究方向是云计算、数据库和企业系统,此次峰会上Jim Donahue主要从架构,安装等方面详细介绍了Flint。
flint particles一个flex的3d粒子系统类库,可以制作很多漂亮的粒子效果
使用手册
flint8.5 on linux特效合成系统.pdf
int石编程语言 Flint是一种新型的类型安全,面向合同的编程语言,专门用于在以太坊上编写健壮的智能合同。 Flint仍处于alpha开发阶段,尚未准备好用于生产中。 中型文章: 和编程2018! 论文:当前工作文件: 在苏珊...
script src =" //openflint.github.io/flint-web-sdk/out/flint_receiver_sdk.js " > </ script > < script src =" //openflint.github.io/flint-web-sdk/out/libs/mediaplayer.js " > </ ...
我们之所以选择Flint,是因为我们希望人们为Apple平台构建出色的应用程序,从而充分利用本机平台的功能而避免麻烦。 :house: 是官方网站,包含指南和API文档以及博客 :speech_balloon: :envelope_selector: :bird: ...
Discreet推出基于英特尔架构IBM Linux工作站的flint视觉效果系统.pdf
script src =" //openflint.github.io/flint-receiver-sdk/v1/receiver.js " > </ script >< script src =" //openflint.github.io/flint-receiver-sdk/v1/receiver_wrapper.js " > </ script &...
flint_加密方法_C++语言库,其中包含了详细的编程以及编程思想,希望对大家有帮助。
Flint:Apache Spark的时间序列库大规模分析时间序列数据的能力对于基于Spark的金融和物联网应用的成功至关重要。 Flint是Two Sigma在Spark中高度优化的时间序列操作的实现。 它利用时间序列数据的自然顺序来对时间...
monkey测试入门基础操作: 1.准备 2.基本命令格式 基本语法 命令参数介绍:1) 参数: -p 2) 参数: -v 3)参数: -s 4) 参数: --throttle 毫秒> 5) 参数: --ignore-crashes 6) 参数: --ignore-...
Flint 的后端已移至 。 客户端工具正在使用中,因此存储库将保留在此处,但是将不再维护此代码库。执照特此授予任何人免费获得本软件副本和相关文档文件(“软件”)的许可,不受限制地处理本软件,包括但不限于...
flint-sender-sdk-web 用于 Web 应用程序的 Flint Sender SDK
强大的数论库
:load flint.init 样本 对于代码分析加载代码分析组件使用 :load components/code-analysis/codeAnalysis.init 分析 git 日志以查找顶级提交者、代码流失(更改最多的文件)、提交和流失的分布。 为此运行的命令。 ...
火石浏览器扩展 适用于 Chrome \ Firefox \ Safari 的 OpenFlint 浏览器扩展 1.如何构建 1.1 Chrome ./grunt ./forge-extension build chrome 1.2 火狐 ./grunt ./forge-extension build firefox