ImageParticle QML Type

用于使用图像可视化逻辑粒子。更多

Import Statement: import QtQuick.Particles
Inherits:

ParticlePainter

属性

详细说明

该元素将逻辑粒子渲染为图像。图像可以

  • 着色
  • 旋转
  • 变形
  • 基于精灵的动画

如果多个 ImageParticles 绘制同一个逻辑粒子组,ImageParticles 就会共享粒子数据。这将根据上述四种功能进行细分。因此,如果一个 ImageParticle 定义了用于在其中一种功能中渲染粒子的数据,而另一个 ImageParticle 没有,那么这两个 ImageParticle 将自动在该方面绘制相同的粒子。这主要适用于在切换绘制者时,粒子会随机发生变化的情况。如果两个 ImageParticles 都定义了它们在该方面的显示方式,那么它们就会产生分歧,每个粒子都会按照定义的方式显示。

这种数据共享是在幕后进行的,取决于属性是隐式设置还是显式设置。当前实现方式的一个缺点是,只能重置整体功能。因此,如果您显式设置了影响颜色的属性(如redVariation ),然后将其重置(将redVariation 设置为未定义),那么所有颜色数据都将被重置,并且它将开始具有来自其他 ImageParticle 的任何共享颜色的隐式值。

注意: 图像粒子的最大数量限制为 16383 个。

属性文档

alpha : real

应用于图像的 Alpha 值。该值乘以图像中的值和颜色属性中的值。

粒子具有叠加混合功能,因此当多个粒子重叠时,单个粒子的 Alpha 值越低,效果越强。

Alpha 值的范围从 0.0 到 1.0。

默认值为 1.0


alphaVariation : real

粒子之间 Alpha 通道的变化。

Alpha 的范围为 0.0 到 1.0。

默认值为 0.0。


autoRotation : bool

如果设置为 "true",则会在粒子旋转的基础上进行旋转,使其朝向移动方向。因此,如果要偏离行进方向,可将 autoRotation 设置为 true,旋转角度设置为 180。

默认值为 false


blueVariation : real

粒子之间蓝色通道的变化。

每个通道的颜色测量值从 0.0 到 1.0。

默认为 0.0


color : color

如果指定了颜色,所提供的图像将被着色。

默认值为白色(无变化)。


colorTable : url

图像的颜色将作为一维纹理使用,以确定生命周期中的颜色。例如,当粒子的生命周期过半时,它将在图像的一半处具有指定的颜色。

这种颜色会与源图像的颜色属性和颜色相混合。


colorVariation : real

colorVariation 这个数字代表应用于单个粒子的颜色变化。设置 colorVariation 与设置redVariationgreenVariationblueVariation 相同。

每个通道可以改变粒子的颜色,但最多只能改变其常规颜色的 colorVariation。

每个通道的颜色测量值从 0.0 到 1.0。

默认值为 0.0


entryEffect : EntryEffect

此属性为粒子提供了基本且廉价的入口和出口效果。要进行精细控制,请参阅sizeTableopacityTable

可接受的值有

常数说明
ImageParticle.None粒子只是出现和消失。
ImageParticle.Fade粒子在其生命周期开始时从 0 不透明度开始淡入,在生命周期结束时淡出到 0。
ImageParticle.Scale粒子在开始时从 0 开始缩放,在结束时缩放回 0。

默认值为ImageParticle.Fade


greenVariation : real

粒子之间绿色通道的变化。

每个通道的颜色测量值从 0.0 到 1.0。

默认值为 0.0。


opacityTable : url

图像,其不透明度将用作一维纹理,以确定生命周期的大小。

预计该属性将很快被移除,转而使用自定义的缓和曲线来决定不透明度随生命周期的变化。


redVariation : real

粒子之间红色通道的变化。

每个通道的颜色测量值从 0.0 到 1.0。

默认值为 0.0。


rotation : real

如果设置,图像将在绘制前旋转这么多度。

粒子坐标不会转换。


rotationVariation : real

如果设置,单个粒子之间的旋转角度最多会相差这么多。


rotationVelocity : real

如果设置,粒子将以该速度(度/秒)旋转。


rotationVelocityVariation : real

如果设置了rotationVelocity ,单个粒子之间的差异将达到此值。


sizeTable : url

图像,其不透明度将用作一维纹理,以确定生命周期的大小。

预计该属性将很快被移除,转而使用自定义的缓和曲线来确定随生命周期变化的大小。


source : url

要使用的源图像。

如果图像是精灵动画,请使用精灵属性。

自 Qt 5.2 起,一些默认图像将作为资源提供,以帮助原型开发:

qrc:///particleresources/star.png
qrc:///particleresources/glowdot.png
qrc:///particleresources/fuzzydot.png

请注意,这些图像都是白色半透明的,以便让着色和 alpha 水平发挥最大效果。


sprites : list<Sprite> [read-only]

用于绘制该粒子的一个或多个精灵。

请注意,精灵图像将根据渲染粒子的大小缩放为正方形。

有关详细信息,请参阅 "精灵动画"概述。


spritesInterpolate : bool

如果设置为 "true",精灵粒子将在每个渲染帧的精灵帧之间进行插值,使精灵看起来更平滑。

默认为 true。


status : Status [read-only]

加载图像的状态。


xVector : StochasticDirection

允许您在绘制粒子图像时对其进行变形。矩形图像将被变形,使水平边的形状与此向量一致,而不是与(1,0)一致。


yVector : StochasticDirection

允许您在绘制粒子图像时对其进行变形。将对矩形图像进行变形,使垂直边的形状与此向量一致,而不是 (0,1)。


© 2025 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.