diff options
Diffstat (limited to 'examples/particles/affectors/content/customaffector.qml')
-rw-r--r-- | examples/particles/affectors/content/customaffector.qml | 215 |
1 files changed, 103 insertions, 112 deletions
diff --git a/examples/particles/affectors/content/customaffector.qml b/examples/particles/affectors/content/customaffector.qml index 8f634fbea3..4ddfc4802c 100644 --- a/examples/particles/affectors/content/customaffector.qml +++ b/examples/particles/affectors/content/customaffector.qml @@ -50,127 +50,118 @@ Item { anchors.fill: parent } ParticleSystem { - id: sys - } - Emitter { - system: sys - width: parent.width - emitRate: 4 - lifeSpan: 14000 - size: 80 - velocity: PointDirection { y: 60 } - } - Wander { - system: sys anchors.fill: parent - anchors.bottomMargin: 100 - xVariance: 60 - pace: 60 - } + Emitter { + width: parent.width + emitRate: 4 + lifeSpan: 14000 + size: 80 + velocity: PointDirection { y: 60 } + } + Wander { + anchors.fill: parent + anchors.bottomMargin: 100 + xVariance: 60 + pace: 60 + } - //! [0] - Affector { - system: sys - property real coefficient: 0.1 - property real velocity: 1.5 - width: parent.width - height: parent.height - 100 - onAffectParticles: { - /* //Linear movement - if (particle.r == 0) { - particle.r = Math.random() > 0.5 ? -1 : 1; - }else if (particle.r == 1) { - particle.rotation += velocity * dt; - if(particle.rotation >= maxAngle) - particle.r = -1; - }else if (particle.r == -1) { - particle.rotation -= velocity * dt; - if(particle.rotation <= -1 * maxAngle) - particle.r = 1; - } - */ - //Wobbly movement - for (var i=0; i<particles.length; i++) { - var particle = particles[i]; - if (particle.r == 0.0) { - particle.r = Math.random() + 0.01; + //! [0] + Affector { + property real coefficient: 0.1 + property real velocity: 1.5 + width: parent.width + height: parent.height - 100 + onAffectParticles: { + /* //Linear movement + if (particle.r == 0) { + particle.r = Math.random() > 0.5 ? -1 : 1; + } else if (particle.r == 1) { + particle.rotation += velocity * dt; + if (particle.rotation >= maxAngle) + particle.r = -1; + } else if (particle.r == -1) { + particle.rotation -= velocity * dt; + if (particle.rotation <= -1 * maxAngle) + particle.r = 1; + } + */ + //Wobbly movement + for (var i=0; i<particles.length; i++) { + var particle = particles[i]; + if (particle.r == 0.0) { + particle.r = Math.random() + 0.01; + } + particle.rotation += velocity * particle.r * dt; + particle.r -= particle.rotation * coefficient; + if (particle.r == 0.0) + particle.r -= particle.rotation * 0.000001; + particle.update = 1; } - particle.rotation += velocity * particle.r * dt; - particle.r -= particle.rotation * coefficient; - if (particle.r == 0.0) - particle.r -= particle.rotation * 0.000001; - particle.update = 1; } } - } - //! [0] + //! [0] - //! [1] - Affector {//Custom Friction, adds some 'randomness' - system: sys - x: -60 - width: parent.width + 120 - height: 100 - anchors.bottom: parent.bottom - onAffectParticles: { - for (var i=0; i<particles.length; i++) { - var particle = particles[i]; - var pseudoRand = (Math.floor(particle.t*1327) % 10) + 1; - var yslow = dt * pseudoRand * 0.5 + 1; - var xslow = dt * pseudoRand * 0.05 + 1; - 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 = true; + //! [1] + Affector {//Custom Friction, adds some 'randomness' + x: -60 + width: parent.width + 120 + height: 100 + anchors.bottom: parent.bottom + onAffectParticles: { + for (var i=0; i<particles.length; i++) { + var particle = particles[i]; + var pseudoRand = (Math.floor(particle.t*1327) % 10) + 1; + var yslow = dt * pseudoRand * 0.5 + 1; + var xslow = dt * pseudoRand * 0.05 + 1; + 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 = true; + } } } - } - //! [1] + //! [1] - ImageParticle { - anchors.fill: parent - id: particles - system: sys - sprites: [Sprite { - source: "../../images/realLeaf1.png" - frameCount: 1 - frameDuration: 1 - to: {"a":1, "b":1, "c":1, "d":1} - }, Sprite { - name: "a" - source: "../../images/realLeaf1.png" - frameCount: 1 - frameDuration: 10000 - }, - Sprite { - name: "b" - source: "../../images/realLeaf2.png" - frameCount: 1 - frameDuration: 10000 - }, - Sprite { - name: "c" - source: "../../images/realLeaf3.png" - frameCount: 1 - frameDuration: 10000 - }, - Sprite { - name: "d" - source: "../../images/realLeaf4.png" - frameCount: 1 - frameDuration: 10000 - } - ] + ImageParticle { + anchors.fill: parent + id: particles + sprites: [Sprite { + source: "../../images/realLeaf1.png" + frameCount: 1 + frameDuration: 1 + to: {"a":1, "b":1, "c":1, "d":1} + }, Sprite { + name: "a" + source: "../../images/realLeaf1.png" + frameCount: 1 + frameDuration: 10000 + }, + Sprite { + name: "b" + source: "../../images/realLeaf2.png" + frameCount: 1 + frameDuration: 10000 + }, + Sprite { + name: "c" + source: "../../images/realLeaf3.png" + frameCount: 1 + frameDuration: 10000 + }, + Sprite { + name: "d" + source: "../../images/realLeaf4.png" + frameCount: 1 + frameDuration: 10000 + } + ] - width: 100 - height: 100 - x: 20 - y: 20 - z:4 + z:4 + } } } |