【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粒子系统是一款强大的开源粒子编辑器,它允许开发者通过简单易用的界面创建出复杂的3D效果。本篇文章将深入探讨如何利用Flint粒子系统来实现《飞翔的乌鸦》这一特定的3D场景。 1. Flint粒子系统简介 ...
《BornGrass-flint粒子系统:打造极致真实的Flash 3D草丛效果》 在数字艺术与游戏开发领域,粒子系统是一种重要的技术手段,用于创建动态的、视觉上吸引人的效果,如火焰、烟雾、水流、草动等。本文将深入探讨...
Flint 2.1.3 是一款专为Adobe Flex开发者设计的3D粒子系统库,它的核心功能在于提供强大的工具来创建令人惊叹的视觉效果,如火焰、烟雾、雪花、星光等。这款开源库为Flex应用程序注入了丰富的动态元素,使得用户界面...
1. Flint实例管理加密的AWS凭证。 2. 创建S3存储桶以存储JAR文件。 3. 创建SimpleDB表格以存储状态信息。 4. 创建用于实例的密钥对和安全组。 5. 通过JSON规范定义集群,包含主实例和从实例的配置,以及扩展规则。 6...
### 数论库FLINT手册知识点概述 #### 一、引言 **FLINT**(Fast Library for Number Theory)是一款高效且功能强大的数论计算库,主要用于处理与数论相关的复杂运算,如大整数运算、多项式计算等。该库支持任意精度...
**Flint前端入门套件** 是一款专为初学者设计的工具包,旨在简化前端开发的初始阶段。它特别强调了CSS预处理的功能,帮助开发者更高效地编写样式代码。预处理器如Sass、Less或Stylus允许开发者使用变量、嵌套规则、...
这款软件在PC和苹果平台上运行,集成了多种高级工具,包括矢量绘画、粒子系统、视频效果处理、轨迹动画以及3D效果合成。Combustion的功能强大,能够满足从动态图像制作到3D合成的广泛需求。 操作说明详细介绍了...
3. **预设组件**:`flint-babylon`可能包含了预设的3D对象和组件,如相机、粒子系统、UI元素等,方便开发者快速搭建3D场景。 4. **性能优化**:通过针对前端应用场景的优化,`flint-babylon`可能提高了Babylon.js在...
标题中的"Discreet推出基于英特尔架构IBM Linux工作站的flint视觉效果系统"揭示了这一事件的核心内容,即Discreet公司(可能是指现在的Autodesk Discreet,Autodesk的一个子公司,专注于媒体与娱乐行业的软件)发布...
FLINT(FLEXIBLE INTERCEPTOR A REALISTIC MISSILE SIMULATION SOFTWARE)是一款针对商品游戏(commodity games)的现实主义导弹模拟软件。它能在不需要复杂引擎支持的情况下,为游戏提供相当真实的导弹和火箭弹道的...
本文基于Flint的师生互动实证研究,旨在探讨基于Flint的师生互动实证研究,提高教学效果,提高教师的教学语言,提高学生的学习效果。 知识点: 1. FIAS(Flanders Interaction Analysis System):一种客观的教学...
flint8.5 on linux特效合成系统.pdf
int石编程语言 Flint是一种新型的类型安全,面向合同的编程语言,专门用于在以太坊上编写健壮的智能合同。 Flint仍处于alpha开发阶段,尚未准备好用于生产中。 中型文章: 和编程2018! 论文:当前工作文件: 在苏珊...
1. **RSA**:这是最著名的非对称加密算法之一,基于大数因子分解的困难性。在rsa子目录中,可能会包含RSA的公钥和私钥生成、加密和解密的函数。 2. **对称加密**:如AES(高级加密标准)、DES(数据加密标准)或3...
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: ...
强大的数论库
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 是一个跨平台的消息传递框架,而 `flint-web-sender-sdk` 是该框架的一个组成部分,专门设计用于Web应用程序的发送端SDK。这个SDK允许Web应用与Flint服务器进行交互,实现消息发送、接收或其他相关功能。然而...