Qt Quick提供了一个粒子系统,提供了四种主要的 QML 类型:
- ParticleSystem ,粒子系统,它维护一个粒子系统相关的 Emitters 、 Painters 、 Affectors ,Emitters 、 Painters 、 Affectors 要想一起玩儿,就得指定同一个 ParticleSystem。 ParticleSystem
- Painters , 它负责渲染一个粒子。ParticlePainter 是基类, CustomParticle 、 ImageParticle 、 ItemParticle 是 Qt Quick 内置的三种粒子,都是 ParticlePainter 的派生类。
- Emitters ,发射器,可以在给定的区域内突突突地发射逻辑粒子。具体的类为 Emitter 。
- Affectors , 效果器,通过改变发射出去的逻辑粒子的属性来产生特效。 Qt Quick 内置了 Age 、 Gravity 、Friction 、 Attractor 等等效果器。
吹泡泡
小孩子很喜欢吹泡泡,有手动的,拿个形似放大镜的玩意儿在泡泡液里蘸一下,嘟起小嘴一吹,五彩缤纷的泡泡就漫天飞舞了。还有一种泡泡机,自动的,形状跟枝枪似的,有个开关,按着不放,它就不停的发射泡泡。我们的示例就模仿吹泡泡的效果。
要使用粒子系统,得引入粒子模块:
import QtQuick.Particles 2.0
ParticleSystem 、 Emitter 、 ImageParticle 、 ItemParticle 等等都在 Particles 这个模块里。
好啦,创建一个 Qt Quick App 项目,加入一个泡泡图片,如下图:

然后就是 main.qml 了:
import QtQuick 2.2import QtQuick.Window 2.1import QtQuick.Particles 2.0Window { visible: true; width: 600; height: 400; color: "lightblue"; id: root; Rectangle { id: target; color: "transparent"; &

本文介绍了如何使用Qt Quick的粒子系统创建吹泡泡的效果,详细讲解了ParticleSystem、Emitter、TargetDirection和ImageParticle的用法,通过示例展示了如何设置粒子的发射、方向、大小变化以及图片渲染。
最低0.47元/天 解锁文章
972

被折叠的 条评论
为什么被折叠?



