Emitter
一、描述
粒子发射器,用作将逻辑粒子发射到粒子系统中。
逻辑粒子不会自动渲染,需要使用一个或多个 ParticlePainter 元素来可视化它们。
给定的起始属性可以在粒子生命周期的任何时候被同一粒子系统中的任何控制器元素修改。
二、属性成员
1、acceleration : StochasticDirection
发射粒子的起始加速度。
2、emitRate : real
每秒发射的粒子数。默认值为每秒 10 个粒子。
3、enabled : bool
是否启用发射器。
4、endSize : real
粒子寿命结束时的像素大小。
在粒子的生命周期中,将根据此值和 size 对大小进行线性插值。如果 endSize 为 -1,则粒子的大小将保持在起始大小不变。默认值为 -1。
5、group : string
这是它将发射到的逻辑粒子组。默认值为“”(空字符串)。
6、lifeSpan : int
每个发射粒子应该持续的时间(毫秒)。默认值为 1000。
如果不希望粒子在一段时间后自动消亡,请将 lifeSpan 设置为 Emitter.InfiniteLife。
lifeSpans 大于或等于 600000 将被视为无限。lifeSpans 小于或等于 0 的粒子将开始死亡。
7、lifeSpanVariation : int
粒子寿命变化程度,如设为50,则默认粒子寿命可能的范围是950~1050之间。默认值为 0。
8、maximumEmitted : int
此发射器一次将拥有的最大粒子数。默认值为 -1。
如果小于0,则此发射器可以拥有的粒子数量没有最大限制。
9、shape : Shape
发射器形状。默认形状是一个填充的矩形,对应于发射器的完整边界框。
10、size : real
粒子在生命开始时的大小(以像素为单位)。默认值为 16。
11、sizeVariation : real
粒子的 size 和 endSize 上下变化的最大范围,粒子系统会将此值加到 size 和 endSize 属性上,以便产生大小随机变化的粒子。默认值为 0。
12、startTime : int
延迟发射时间。
13、system : ParticleSystem
发射器将发射到的粒子系统。如果发射器是 ParticleSystem 的直接子代,则可以省略。
14、velocity : StochasticDirection
发射粒子的起始速度。
15、velocityFromMovement : qreal
粒子的发射速率会叠加发射器运动的速率。默认值为 0。
如果此值不为零,则发射器的任何移动都将根据移动为粒子提供额外的起始速度。
三、信号成员
1、emitParticles(Array particles)
发射粒子时会发射此信号。particles 是粒子对象的 JavaScript 数组。 可以直接在处理程序onEmitParticles 中修改粒子属性。
注意:JavaScript 执行速度较慢,因此不建议在高容量粒子系统中使用它。
四、成员函数
1、burst(int count, int x, int y)
立即从此发射器发射由 count 指定的多个粒子。粒子的发射就像发射器位于 (x, y) 处一样。
2、burst(int count)
立即从此发射器发射由 count 指定的多个粒子。
3、pulse(int duration)
如果发射器未启用,则在指定的持续时间(ms)启用它,然后将其关闭。
TrailEmitter
一、描述
跟随粒子发射器。该元素将逻辑粒子发射到粒子系统中,起始位置基于其他逻辑粒子的位置。
二、属性成员
1、emitHeight : real
emitWidth : real
发射形状缩放到的高度、宽度(以像素为单位)。 如果设置为 TrailEmitter.ParticleSize,则值将是所跟踪粒子的当前大小。默认值为 0。
2、emitRatePerParticle : real
粒子发射率。
3、emitShape : Shape
由于 TrailEmitter 的区域是它所遵循的区域,因此可以提供一个单独的形状作为它发出的形状。该形状具有由发射宽度和发射高度指定的宽度和高度,并以跟随粒子的位置为中心。
默认形状是实心矩形。
4、follow : string
这是发出的逻辑粒子的类型。
5、velocityFromMovement : qreal
如果此值不为零,则 TrailEmitter 的任何移动都将根据移动为粒子提供额外的起始速度。附加向量将与发射器的运动具有相同的角度,其幅度是发射器运动的幅度乘以速度来自运动。默认值为 0。
三、信号成员
1、emitFollowParticles(Array particles, Particle followed)
当发射跟随粒子时,会发出此信号。particles 包含一系列可以直接操作的粒子对象。
如果使用此信号处理程序,则不会发出 emitParticles。