在Flint Particle粒子中,Initializer是初始化器,它在粒子开始构建的时候用到。
package org.flintparticles.common.initializers
{
import org.flintparticles.common.emitters.Emitter;
import org.flintparticles.common.particles.Particle;
public interface Initializer
{
function getDefaultPriority():Number;
function addedToEmitter( emitter:Emitter ):void;
function removedFromEmitter( emitter:Emitter ):void;
function initialize( emitter:Emitter, particle:Particle ):void;
}
}
它是建立粒子和播放器的时候用的,比较前面的Action类接口,他们的形式很类似。
getDefaultPriority():Number;
addedToEmitter( emitter:Emitter ):void;
removedFromEmitter( emitter:Emitter ):void;
initialize( emitter:Emitter, particle:Particle ):void;
Action类接口:
getDefaultPriority():Number;
addedToEmitter( emitter:Emitter ):void;
removedFromEmitter( emitter:Emitter ):void;
update( emitter:Emitter, particle:Particle, time:Number ):void;
《获得默认的优先级;
《加到发射器;
《从发射器移除;
《刷新(发射器、粒子和事件作为参数);
initialize类接口:
getDefaultPriority():Number;
addedToEmitter( emitter:Emitter ):void;
removedFromEmitter( emitter:Emitter ):void;
initialize( emitter:Emitter, particle:Particle ):void;
《获得默认的优先级;
《加到发射器;
《从发射器移除;
《初始化(发射器、粒子和事件作为参数);
InitializerBase implements Initializer
InitializerBase 实现了Initializer接口。
package org.flintparticles.common.initializers
{
import org.flintparticles.common.emitters.Emitter;
import org.flintparticles.common.particles.Particle;
public class InitializerBase implements Initializer
{
public function InitializerBase()
{
}
public function getDefaultPriority():Number
{
return 0;
}
public function addedToEmitter( emitter:Emitter ):void
{
}
public function removedFromEmitter( emitter:Emitter ):void
{
}
public function initialize( emitter:Emitter, particle:Particle ):void
{
}
}
}
下面我们以SharedImage这个初始化器作为说明。
package org.flintparticles.common.initializers
{
import flash.display.DisplayObject;
import org.flintparticles.common.emitters.Emitter;
import org.flintparticles.common.particles.Particle;
public class SharedImage extends InitializerBase
{
private var _image:DisplayObject;
public function SharedImage( image:DisplayObject )
{
_image = image;
}
public function get image():DisplayObject
{
return _image;
}
public function set image( value:DisplayObject ):void
{
_image = value;
}
override public function initialize( emitter:Emitter, particle:Particle ):void
{
particle.image = _image;
}
}
}
我们分析一下。
public class SharedImage extends InitializerBase
这里我们用了继承类,也就是很多的代码和函数我们用了继承,默认的情况下,所有的函数都从InitializerBase继承过来了,有些我们需要重写的就重写一下就行。
private var _image:DisplayObject;
这里增加了一个类里唯一的私有变量_image,它是DisplayObject类型的。
我们注意到在Particle类中,image的类型是待定的(也就是任意类型)
public var image:* = null;
* 该对象用于显示图像。在一个二维粒子,这通常是DisplayObject 。
* 在三维粒子,这可能是一个DisplayObject ,显示牌上的或相似的,
* 或者一个三维物体的形式提供给渲染系统使用。
好了,基本上就到这里。
分享到:
相关推荐
《飞翔的乌鸦》——基于Flint粒子系统的Flash 3D技术详解 在数字艺术与游戏开发领域,粒子系统已经成为创建动态效果、如火焰、烟雾、水波、星光等不可或缺的工具。其中,Flint粒子系统是一款强大的开源粒子编辑器,...
《BornGrass-flint粒子系统:打造极致真实的Flash 3D草丛效果》 在数字艺术与游戏开发领域,粒子系统是一种重要的技术手段,用于创建动态的、视觉上吸引人的效果,如火焰、烟雾、水流、草动等。本文将深入探讨...
《Flint 2.1.3:Flex中的3D粒子系统库详解》 Flint 2.1.3 是一款专为Adobe Flex开发者设计的3D粒子系统库,它的核心功能在于提供强大的工具来创建令人惊叹的视觉效果,如火焰、烟雾、雪花、星光等。这款开源库为...
**Flint前端入门套件** 是一款专为初学者设计的工具包,旨在简化前端开发的初始阶段。它特别强调了CSS预处理的功能,帮助开发者更高效地编写样式代码。预处理器如Sass、Less或Stylus允许开发者使用变量、嵌套规则、...
- **性能调优**:提供了关于如何针对特定应用场景调整FLINT性能的指导。 - **配置选项**:列举了一些重要的配置选项及其作用。 - **基准测试**:介绍了如何使用基准测试来评估不同配置的效果。 #### 十四、示例程序...
在某个峰会上,他深入探讨了Flint的相关知识,特别是其架构和安装流程。Flint项目的目标是将大数据分析服务(Big Data Analytics Service,简称BDAS)带入亚马逊网络服务(Amazon Web Services,简称AWS)的大众市场...
FLINT(FLEXIBLE INTERCEPTOR A REALISTIC MISSILE SIMULATION SOFTWARE)是一款针对商品游戏(commodity games)的现实主义导弹模拟软件。它能在不需要复杂引擎支持的情况下,为游戏提供相当真实的导弹和火箭弹道的...
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 " > </ ...
int石编程语言 Flint是一种新型的类型安全,面向合同的编程语言,专门用于在以太坊上编写健壮的智能合同。 Flint仍处于alpha开发阶段,尚未准备好用于生产中。 中型文章: 和编程2018! 论文:当前工作文件: 在苏珊...
flint8.5 on linux特效合成系统.pdf
标题中的“flint”可能是指该库的项目名,它可能来源于英文单词“flint”,意为燧石,象征着点燃知识的火花。这个库很可能提供了核心的加密和解密功能,包括但不限于对称加密、非对称加密、哈希函数和消息认证码等。...
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是一个框架,可使用Swift的功能根据功能和操作为Apple平台构建应用程序。 应用的功能是根据运行时限制启用的; 系统权限,操作系统版本或应用内购买。 它需要您的操作,并提供增强的日志记录,自动分析事件,...
3. **预设组件**:`flint-babylon`可能包含了预设的3D对象和组件,如相机、粒子系统、UI元素等,方便开发者快速搭建3D场景。 4. **性能优化**:通过针对前端应用场景的优化,`flint-babylon`可能提高了Babylon.js在...
"基于Flint的师生互动实证研究论文" 本文是基于Flint的师生互动实证研究论文,主要探讨基于Flint的师生互动实证研究。Flint是 Foreign Language Interaction System 的缩写,是一种互动分析系统,用于分析课堂师生...
Flint 是一个跨平台的消息传递框架,而 `flint-web-sender-sdk` 是该框架的一个组成部分,专门设计用于Web应用程序的发送端SDK。这个SDK允许Web应用与Flint服务器进行交互,实现消息发送、接收或其他相关功能。然而...
monkey测试入门基础操作: 1.准备 2.基本命令格式 基本语法 命令参数介绍:1) 参数: -p 2) 参数: -v 3)参数: -s 4) 参数: --throttle 毫秒> 5) 参数: --ignore-crashes 6) 参数: --ignore-...
强大的数论库
火石浏览器扩展 适用于 Chrome \ Firefox \ Safari 的 OpenFlint 浏览器扩展 1.如何构建 1.1 Chrome ./grunt ./forge-extension build chrome 1.2 火狐 ./grunt ./forge-extension build firefox