ItemParticle
一、描述
此类型用于粒子系统中指定一个委托来绘制粒子。
二、属性成员
1、delegate : Component
将为每个逻辑粒子创建一个委托实例,并随之移动。
当逻辑粒子过期时,ItemParticle 创建的任何委托实例都将被销毁。
2、fade : bool
如果为 true(默认),项目将在其生命周期结束时自动淡入淡出。
如果为 false,则必须自己实现入出效果。
三、成员函数
1、freeze(Item item)
暂停 item 代表的逻辑粒子的时间流。
2、give(Item item)
item 的控制权交给用户。item 将失去与逻辑粒子的关联。
3、take(Item item, bool prioritize)
ItemParticle 暂时接管对 item 定位的控制。当有逻辑粒子可用时,item 将跟随逻辑粒子的运动。
默认情况下,item 在等待逻辑粒子时形成队列,但如果 prioritize 为 true,则它将立即进入队列的头部。
ItemParticle 不取得该项目的所有权,并且会在逻辑粒子过期时放弃控制权。通常,此时需要将其放回队列中,可以使用委托定义中执行:
ItemParticle.onDetached: itemParticleInstance.take(delegateRootItem);
或删除它,例如在委托定义中执行:
ItemParticle.onDetached: delegateRootItem.destroy();
4、unfreeze(Item item)
为 item 所代表的逻辑粒子重新启动时间流,允许粒子系统再次移动它。
ImageParticle
一、描述
此元素将逻辑粒子渲染为图像。
如果多个 ImageParticle 正在绘制相同的逻辑粒子组,则 ImageParticle 隐式共享有关粒子的数据。
图像粒子的最大数量限制为 16383。
二、属性成员
1、alpha : real
要应用于图像的 alpha。范围是 0.0 到 1.0。默认值为 1.0。
粒子具有附加混合,因此当多个粒子重叠时,单个粒子上的较低 alpha 会导致更强的效果。
2、alphaVariation : real
粒子之间 alpha 通道的变化。默认值为 0.0。
粒子实际的alpha值范围为:alpha ± alphaVariation。
3、autoRotation : bool
是否自动旋转。默认为 false。
如果设置为 true,则将在粒子旋转的顶部应用旋转,使其面向行进方向。因此,要远离行进方向,可将 autoRotation 设置为 true、将 rotation 设置为 180。
4、blueVariation : real
greenVariation : real
redVariation : real
粒子各个颜色通道的变化范围。范围是 0.0 到 1.0。默认值为 0.0。
5、color : color
如果指定了颜色,则提供的图像将使用它进行着色。默认为白色(无变化)。
6、colorVariation : real
该数字表示应用于单个粒子的颜色变化范围。范围是 0.0 到 1.0。默认值为 0.0。
设置 colorVariation 与设置 redVariation、greenVariation 、blueVariation 效果相同。
7、colorTable : url
其颜色将用作 1D 纹理以确定整个生命周期颜色的图像。例如,当粒子生命周期过半时,它将在图像的一半处指定颜色。
此颜色与 color 属性和源图像(source)的颜色混合。
8、entryEffect : EntryEffect
此属性为粒子提供基本且便捷的入口和出口效果。
- ImageParticle.None:粒子只是出现和消失。
- ImageParticle.Fade:默认值,粒子在生命开始时从 0 不透明度淡入,并在结束时淡出到 0。
- ImageParticle.Scale:粒子在生命开始时从 0 大小缩小,并在结束时缩小到 0。
9、rotation : real
如果设置,图像将在绘制之前旋转这么多度。不变换粒子坐标。
10、rotationVariation : real
单个粒子的旋转角度在 rotation 基础上的变化范围。
11、rotationVelocity : real
单个粒子旋转速度(度/秒)。
12、rotationVelocityVariation : real
单个粒子在 rotationVelocity 基础上的变化范围。
13、source : url
要使用的源图像。如果图像是精灵动画,请改用 sprite 属性。
Qt 提供了一些默认图像作为帮助原型设计的资源(不用包含其他资源文件,直接使用路径):
- qrc:///particleresources/star.png
- qrc:///particleresources/glowdot.png
- qrc:///particleresources/fuzzydot.png
14、sprites : list<Sprite>
用于绘制此粒子的精灵。精灵图像将根据正在渲染的粒子的大小缩放为正方形。
15、spritesInterpolate : bool
精灵粒子是否会在每个渲染帧的精灵帧之间进行插值,以便看起来更平滑。默认为 true。
16、status : Status
加载图像的状态。
17、xVector : StochasticDirection
yVector : StochasticDirection
允许在绘制时使矩形粒子图像将变形,以便水平边、垂直边的形状为该向量而不是 (1,0)。