粒子由粒子发射器发出。在粒子发射出后,发射器无法再改变粒子。
粒子控制器允许你控制发射后的粒子参数。
控制器的每个类型使用不同的方法来影响粒子:
- 生命周期(Age)- 修改粒子的生命周期
- 吸引(Attractor)- 吸引粒子朝向指定点
- 摩擦(Friction)- 按当前粒子速度成正比减慢运动
- 重力(Gravity)- 设置一个角度的加速度
- 紊流(Turbulence)- 强制基于噪声图像方式的流动
- 漂移(Wander)- 随机变化的轨迹
- 组目标(GroupGoal)- 改变一组粒子群的状态
- 子粒子(SpriteGoal)- 改变一个子粒子的状态
接下来我们挨个问候:)
Age(生命周期)
Age {
// 指定 Age 区域
anchors.horizontalCenter: parent.horizontalCenter
// 指定 Age 大小
width: 240; height: 120
system: particleSystem
// advancePosition为true,当粒子的生命周期到达1200 毫秒后,
// 将会再一次在这个位置看到粒子出现
advancePosition: true
// 生命周期
lifeLeft: 1200
once: true
Tracer {}
}
1,Age是个区域
2,进入Age区域的粒子生命周期会变为 1200 毫秒(因为早已超过,所以显示为消失)
3,advancePosition允许再出现!
Attractor(吸引)
Attractor {
anchors.horizontalCenter:
parent.horizontalCenter
width: 160
height: 120
system: particleSystem
// 朝着区域内的哪一点吸引
// 这里是矩形控制区域的左上角的点
pointX: 0
pointY: 0
// 吸引的强度
strength: 1.0
Tracer {}
}
1,pointX、pointY指定朝着控制区域内的哪一点吸引
2,指定吸引强度
Friction(摩擦)
摩擦控制器使用一个参数(factor)减慢粒子运动,直到达到一个阈值
Friction {
anchors.horizontalCenter:
parent.horizontalCenter
width: 240
height: 120
system: particleSystem
// 粒子按照 0.8 的参数减慢
factor : 0.8
// 减慢到每秒 25 像素之后就不减慢了
threshold: 25
Tracer {}
}
在上部的摩擦区域,粒子被按照0.8的参数(factor)减慢,直到粒子的速度达到25 像素每秒
这个阈值像一个过滤器。粒子运动速度高于阈值将会按照给定的参数来 减慢它
Turbulence(紊流)
- 紊流控制器,对粒子应用了一个混乱映射方向力的矢量。
- 这个混乱映射是由一个噪声图像定义的。
- 可以使用noiseSource属性来定义噪声图像。
- strength定义了矢量对于粒子运动的影响有多大
Turbulence {
anchors.horizontalCenter:
parent.horizontalCenter
width: 240
height: 120
system: particleSystem
strength: 100
Tracer {}
}
Wander(漂移)
- 漂移控制器控制了轨迹
- affectedParameter属性可以指定哪个参数控制了漂移(速 度,位置或者加速度)
- pace属性制定了每秒最多改变的属性
- yVariance指定了y 组件对粒子轨迹的影响
Wander {
anchors.horizontalCenter:
parent.horizontalCenter
width: 240
height: 120
system: particleSystem
affectedParameter: Wander.Position
pace: 200
yVariance: 240
Tracer {}
}
end~汗