Emitter QML Type
发射逻辑粒子。更多...
| Import Statement: | import QtQuick.Particles |
| Inherited By: |
属性
- acceleration : StochasticDirection
- emitRate : real
- enabled : bool
- endSize : real
- group : string
- lifeSpan : int
- lifeSpanVariation : int
- maximumEmitted : int
- shape : Shape
- size : real
- sizeVariation : real
- startTime : int
- system : ParticleSystem
- velocity : StochasticDirection
- velocityFromMovement : real
信号
- emitParticles(Array particles)
方法
详细描述
该元素会向ParticleSystem 中发射逻辑粒子,并带有给定的起始属性。
请注意,逻辑粒子不会自动渲染,您需要有一个或多个ParticlePainter 元素来将其可视化。
请注意,在粒子的生命周期内,同一ParticleSystem 中的任何Affector元素均可随时修改给定的初始属性。这包括lifespan等属性。
属性文档
acceleration : StochasticDirection
所发射粒子的初始加速度。
emitRate : real
每秒发出的粒子数量。
默认值为每秒10个粒子。
enabled : bool
如果设置为 false,发射器将停止发射,直到被设置为 true 为止。
默认值为 true。
endSize : real
粒子生命周期结束时的像素大小。在粒子的生命周期内,其大小将基于此值和初始大小进行线性插值。如果 endSize 为 -1,则粒子的大小将始终保持为初始大小。
默认值为 -1。
group : string
这是它将向其中发射粒子的逻辑粒子组。
默认值为 ""(空字符串)。
lifeSpan : int
每个发射出的粒子应持续存在的时间(单位:毫秒)。
若不希望粒子在一段时间后自动消失(例如,若希望手动清除它们),请将 lifeSpan 设置为 Emitter.InfiniteLife。
lifeSpan 值大于或等于 600000(10 分钟)时,将被视为无限。lifeSpan 值小于或等于 0 的粒子一开始就处于消失状态。
默认值为 1000(一秒)。
lifeSpanVariation : int
粒子的寿命在正负方向上的波动幅度最多可达此值。
默认值为 0。
maximumEmitted : int
该发射器同时存在的有效粒子最大数量。
此参数可用于优化性能(在使用“突发”和“脉冲”模式时),或用于错开粒子发射时间。
如果此参数设置为负数,则该发射器可拥有的活跃粒子数量将没有上限。
默认值为 -1。
shape : Shape
该形状将根据发射器的尺寸进行应用。粒子将从该形状覆盖的任何区域随机发射出来。
默认形状是一个实心矩形,它对应于发射器的完整边界框。
size : real
粒子生命周期开始时的像素大小。
默认值为 16。
sizeVariation : real
粒子的尺寸可以围绕 size/endSize 上下波动这么多。对于单个粒子,会同时对 size 和endSize 进行相同的随机加法。
默认值为 0。
startTime : int
如果在加载发射器时设置了此值,则它将从过去开始发射粒子,时间范围可追溯至最多 startTime 毫秒之前。这些粒子将模拟为当时发射的,但不会对其应用任何影响器。影响器将从当前时间开始生效。
system : ParticleSystem
这是发射器将向其中发射粒子的粒子系统。如果发射器是ParticleSystem
velocity : StochasticDirection
发射出的粒子的初始速度。
velocityFromMovement : real
如果该值不为零,则发射器的任何移动都会根据其移动方向为粒子提供额外的初始速度。该附加速度向量的方向与发射器的移动方向一致,其大小等于发射器移动方向的大小乘以 velocityFromMovement。
默认值为 0。
信号文档
emitParticles(Array particles)
当粒子被发射时,会触发此信号。particles 是一个由 Particle 对象组成的 JavaScript 数组。您可以在处理程序中直接修改粒子的属性。
注意:JavaScript 的 执行速度较慢,因此不建议在粒子数量庞大的粒子系统中使用此方法。
注意: 对应的处理程序 是onEmitParticles 。
方法文档
void burst(int count)
立即从该发射器发射由count 指定的数量的粒子。
void burst(int count, int x, int y)
立即从该发射器发射由 `count` 指定的数量的粒子。这些粒子的发射效果,就好像该发射器位于坐标 `(x,y)` 处,但其他所有属性均保持不变。
void pulse(int duration)
如果发射器未启用,则将其启用指定时长duration (以毫秒为单位),然后将其重新关闭。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.