在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(http://www.uncle3d.com)
BornGrass-flint粒子系统-完美的草丛flash 3d(http://www.uncle3d.com)
Flint-前端入门套件v.1 该工具包使用进行一些强大CSS预处理。浏览器支持如何使用这个套件学分致谢Flint是的项目。
Jim Donahue是Adobe系统技术实验室主要科学家,主要研究方向是云计算、数据库和企业系统,此次峰会上Jim Donahue主要从架构,安装等方面详细介绍了Flint。
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
使用手册
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 particles一个flex的3d粒子系统类库,可以制作很多漂亮的粒子效果
Flint是一个框架,可使用Swift的功能根据功能和操作为Apple平台构建应用程序。 应用的功能是根据运行时限制启用的; 系统权限,操作系统版本或应用内购买。 它需要您的操作,并提供增强的日志记录,自动分析事件,...
flint_加密方法_C++语言库,其中包含了详细的编程以及编程思想,希望对大家有帮助。
monkey测试入门基础操作: 1.准备 2.基本命令格式 基本语法 命令参数介绍:1) 参数: -p 2) 参数: -v 3)参数: -s 4) 参数: --throttle 毫秒> 5) 参数: --ignore-crashes 6) 参数: --ignore-...
Flint:Apache Spark的时间序列库大规模分析时间序列数据的能力对于基于Spark的金融和物联网应用的成功至关重要。 Flint是Two Sigma在Spark中高度优化的时间序列操作的实现。 它利用时间序列数据的自然顺序来对时间...
flint-sender-sdk-web 用于 Web 应用程序的 Flint Sender SDK
火石浏览器扩展 适用于 Chrome \ Firefox \ Safari 的 OpenFlint 浏览器扩展 1.如何构建 1.1 Chrome ./grunt ./forge-extension build chrome 1.2 火狐 ./grunt ./forge-extension build firefox
Flint 的后端已移至 。 客户端工具正在使用中,因此存储库将保留在此处,但是将不再维护此代码库。执照特此授予任何人免费获得本软件副本和相关文档文件(“软件”)的许可,不受限制地处理本软件,包括但不限于...
:load flint.init 样本 对于代码分析加载代码分析组件使用 :load components/code-analysis/codeAnalysis.init 分析 git 日志以查找顶级提交者、代码流失(更改最多的文件)、提交和流失的分布。 为此运行的命令。 ...
强大的数论库
燧石Flint是Fortran的皮棉工具。 它尚不起作用,但是当前可以执行一些基本任务。 目前,它是作为Python模块编写的,但是我希望有一天它将使用命令行工具。 Flint目前尚无法完全使用,但它确实包含一些不错的功能,...