先来一些具体的类的简单介绍:
XMLConvertible: 一个简单的接口类,所有的Stardust元素都需要实现这个接口。也就是说,所有的元素都要能生成XML配置文件,并且都能直接从XML中的数据中重新构建一个元素。提供两个接口,一个是toXML(),导出xml配置;一个是parseXML(). 从xml中构建。
StardustElement: 实现了XMLConvertible接口。里面实现了最基本的xml转换。
粒子系统创建初期,需准备一个时钟Clock。
Clock 是一个星尘元素, getTicks() 方法在 Emitter.step()方法执行时调用,告诉emitter有多少个粒子将被创建。
ClockCollector: 接口类。 提供addClock,removeClock,clearClocks三个接口。
ClockCollection: 实现了ClockCollector的接口。供其他实现ClockCollector接口的类的内部调用。
CompositeClock: 一组时钟。
ImpulseClock: 突然的时钟(类似脉冲样的时钟吧)。 当impulse()方法调用之后,这个时钟会让emitter创建爆发的(burst)的粒子。
RandomClock: 随机时钟。这个时钟将随机创建粒子。
SteadyClock: 创建稳定时钟。
发现问题。
相信使用了Stardust最新的代码(stardust1.3.186)的会发现那个帮助手册上的内容已经过时了,没错,你会发现找不到DisplayObjectRenderer等类。而去前一个发布的版本(stardust1.2.163)中则还有。 说明代码在这个方面进行了一些改动。
目前我的发现是,将DisplayObjectRenderer改由DisplayObjectHandler来代替了相应的职责。至于为什么这么改,先看看先。
不过,类结构得重新介绍了。
Action: 动作行为。以此为依据来更新粒子的属性。
通常Action是和发射器关联的,当每个Emitter.step()调用的时候,ation.update()会被调用,那些粒子的属性神马的都会进行相应的更新。
以下是Action的子类:
age:粒子的寿命(年龄)。
AlphaCurve: 透明度曲线。
Die:应该配合action的trigger来使用,如果这个action直接添加到发射器上了,所有的粒子在出生之后都将标记为死亡。
ScaleCurve:
DeathLife:标记一个粒子为死亡,当粒子的life为0的时候。
当粒子的生命结束的时候,如果你希望将他们从simulatin(仿真?)中移除,记得把这个DeathLife动作添加到emitter中。
Action2D: 是所有2D行为的基类。旗下有很多2D行为的子类。如Spawn,snapshot,Move等。。。。