aboutsummaryrefslogtreecommitdiffstats
path: root/examples/declarative/particles/custom/fallingleaves.qml
diff options
context:
space:
mode:
Diffstat (limited to 'examples/declarative/particles/custom/fallingleaves.qml')
-rw-r--r--examples/declarative/particles/custom/fallingleaves.qml97
1 files changed, 97 insertions, 0 deletions
diff --git a/examples/declarative/particles/custom/fallingleaves.qml b/examples/declarative/particles/custom/fallingleaves.qml
new file mode 100644
index 0000000000..e41d214594
--- /dev/null
+++ b/examples/declarative/particles/custom/fallingleaves.qml
@@ -0,0 +1,97 @@
+import QtQuick 2.0
+import QtQuick.Particles 2.0
+
+Item {
+ width: 360
+ height: 600
+
+ Image{
+ source: "content/backgroundLeaves.jpg"
+ anchors.fill: parent
+ }
+ ParticleSystem{ id: sys }
+ Emitter{
+ system: sys
+ width: parent.width
+ emitRate: 6
+ lifeSpan: 12000
+ size: 80
+ speed: PointDirection{ y: 60 }
+ }
+ Wander {
+ system: sys
+ anchors.fill: parent
+ xVariance: 60
+ pace: 60
+ }
+ CustomAffector{
+ system: sys
+ property real coefficient: 0.5
+ property real speed: 10.0
+ onAffectParticle:{
+ /* //Linear movement
+ if (particle.r == 0){
+ particle.r = Math.random() > 0.5 ? -1 : 1;
+ }else if (particle.r == 1){
+ particle.rotation += speed * dt;
+ if(particle.rotation >= maxAngle)
+ particle.r = -1;
+ }else if (particle.r == -1){
+ particle.rotation -= speed * dt;
+ if(particle.rotation <= -1 * maxAngle)
+ particle.r = 1;
+ }
+ */
+ //Wobbly movement
+ if (particle.r == 0.0){
+ particle.r = Math.random() + 0.01;
+ }
+ particle.rotation += speed * particle.r * dt;
+ particle.r -= particle.rotation * coefficient;
+ if (particle.r == 0.0)
+ particle.r -= particle.rotation * 0.000001;
+ }
+ }
+
+ ImageParticle{
+ anchors.fill: parent
+ id: particles
+ system: sys
+ sprites: [Sprite{
+ source: "content/realLeaf1.png"
+ frames: 1
+ duration: 1
+ to: {"a":1, "b":1, "c":1, "d":1}
+ }, Sprite{
+ name: "a"
+ source: "content/realLeaf1.png"
+ frames: 1
+ duration: 10000
+ },
+ Sprite{
+ name: "b"
+ source: "content/realLeaf2.png"
+ frames: 1
+ duration: 10000
+ },
+ Sprite{
+ name: "c"
+ source: "content/realLeaf3.png"
+ frames: 1
+ duration: 10000
+ },
+ Sprite{
+ name: "d"
+ source: "content/realLeaf4.png"
+ frames: 1
+ duration: 10000
+ }
+ ]
+
+ width: 100
+ height: 100
+ x: 20
+ y: 20
+ z:4
+ }
+}