blob: 55fa77ffe9c669945708db6222fc05e6fefdb160 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
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: 4
lifeSpan: 14000
size: 80
speed: PointDirection{ y: 60 }
}
Wander {
system: sys
anchors.fill: parent
anchors.bottomMargin: 100
xVariance: 60
pace: 60
}
Affector{
system: sys
property real coefficient: 0.1
property real speed: 1.5
width: parent.width
height: parent.height - 100
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;
particle.update = 1;
}
}
Affector{//Custom Friction, adds some 'randomness'
system: sys
//onceOff: true
x: -60
width: parent.width + 120
height: 100
anchors.bottom: parent.bottom
onAffectParticle:{
var pseudoRand = (Math.floor(particle.t*1327) % 10) + 1;
var yslow = pseudoRand * 0.01 + 1.01;
var xslow = pseudoRand * 0.005 + 1.0;
if (particle.vy < 1)
particle.vy = 0;
else
particle.vy = (particle.vy / yslow);
if (particle.vx < 1)
particle.vx = 0;
else
particle.vx = (particle.vx / xslow);
particle.update = 1;
}
}
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
}
}
|