QML类型:ItemParticle、ImageParticle

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 与设置 redVariationgreenVariation 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

QML类型:ItemParticle、ImageParticleQML类型:ItemParticle、ImageParticleQML类型:ItemParticle、ImageParticle

 14、sprites : list<Sprite>

用于绘制此粒子的精灵。精灵图像将根据正在渲染的粒子的大小缩放为正方形。

15、spritesInterpolate : bool

精灵粒子是否会在每个渲染帧的精灵帧之间进行插值,以便看起来更平滑。默认为 true。

16、status : Status

 加载图像的状态。

17、xVector : StochasticDirection

        yVector : StochasticDirection

允许在绘制时使矩形粒子图像将变形,以便水平边、垂直边的形状为该向量而不是 (1,0)。

上一篇:LeetCode - Lowest Common Ancestor of Deepest Leaves


下一篇:QML类型:AngleDirection、PointDirection、TargetDirection