diff options
author | Jerome Pasion <jerome.pasion@digia.com> | 2012-08-08 12:18:55 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-09-21 10:25:11 +0200 |
commit | 5c88efc06d152ac675b4369d854699b137631fa0 (patch) | |
tree | 85e833ecd1914c71ae92280aaf44c48a878d0453 /examples/particles | |
parent | f66624bf294663a3dd0777692e8ad8dbb19f3819 (diff) |
Examples: Moved example documentation.
-inline \example pages into separate .qdoc files
-fixed broken links to paths
-moved ui-components under examples/quick
Change-Id: I6e009b9213be3e1f4bed51bdbeb76a7a2142c80b
Reviewed-by: Martin Smith <martin.smith@digia.com>
Diffstat (limited to 'examples/particles')
-rw-r--r-- | examples/particles/affectors/affectors.qml | 86 | ||||
-rw-r--r-- | examples/particles/affectors/doc/src/affectors.qdoc | 113 | ||||
-rw-r--r-- | examples/particles/customparticle/customparticle.qml | 28 | ||||
-rw-r--r-- | examples/particles/customparticle/doc/src/customparticle.qdoc | 54 | ||||
-rw-r--r-- | examples/particles/emitters/doc/src/emitters.qdoc | 60 | ||||
-rw-r--r-- | examples/particles/emitters/emitters.qml | 35 | ||||
-rw-r--r-- | examples/particles/imageparticle/doc/src/imageparticle.qdoc | 62 | ||||
-rw-r--r-- | examples/particles/imageparticle/imageparticle.qml | 36 | ||||
-rw-r--r-- | examples/particles/system/doc/src/system.qdoc | 59 | ||||
-rw-r--r-- | examples/particles/system/system.qml | 32 |
10 files changed, 348 insertions, 217 deletions
diff --git a/examples/particles/affectors/affectors.qml b/examples/particles/affectors/affectors.qml index 08f1dfe1a0..5e031dd971 100644 --- a/examples/particles/affectors/affectors.qml +++ b/examples/particles/affectors/affectors.qml @@ -41,92 +41,6 @@ import QtQuick 2.0 import "../../shared" as Examples -/*! - \title QtQuick.Particles Examples - Affectors - \example particles/affectors - \brief This is a collection of examples using Affectors in the QML particle system. - \image qml-affectors-example.png - - This is a collection of small QML examples relating to using Affectors in the particle system. - Each example is a small QML file emphasizing a particular element or feature. - - Age demonstrates using an Age affector to prematurely end the lives of particles. - \snippet examples/particles/affectors/content/age.qml 0 - - As you move the affector around the screen, the particles inside it - (which haven't already been affected) jump to a period near the end - of their life. This gives them a short period to finish fading out, - but changing lifeLeft to 0 (the default), would cause them to reach - the end of their life instantly. - - Attractor demonstrates using an Attractor affector to simulate a black hole - \snippet examples/particles/affectors/content/attractor.qml 0 - - All particles in the scene, including the rocket ship's exhaust and pellets, are pulled - towards the black hole. This effect is stronger closer to the black hole, so the - asteroids near the top of the screen are barely affected at all, while the ones - towards the middle sometimes curve drastically. To complete the effect, an Age - affector covers the black hole to destroy particles which come in contact with it. - - Custom Affector manipulates the properties of the particles directly in javascript. - One Affector is used to make the leaves rock back and forth as they fall, looking more - leaf-like than just spinning in circles: - \snippet examples/particles/affectors/content/customaffector.qml 0 - Another is used to provide a slightly varying friction to the leaves as they 'land', - to look more natural: - \snippet examples/particles/affectors/content/customaffector.qml 1 - - Friction is similar to the falling leaves in the custom affector, except that it uses a - flat friction the whole way down instead of custom affectors. - \snippet examples/particles/affectors/content/friction.qml 0 - - Gravity is a convenience affector for applying a constant acceleration to particles inside it - \snippet examples/particles/affectors/content/gravity.qml 0 - - GroupGoal sets up two particle groups for flaming and non-flaming balls, and gives you various - ways to transition between them. - \snippet examples/particles/affectors/content/groupgoal.qml unlit - The non-flaming balls have a one in a hundred chance of lighting on their own each second, but they also - have a GroupGoal set on the whole group. This affector affects all particles of the unlit group, when colliding - with particles in the lit group, and cause them to move to the lighting group. - \snippet examples/particles/affectors/content/groupgoal.qml lighting - lighting is an intermediate group so that the glow builds up and the transition is less jarring. So it automatically - moves into the lit group after 100ms. - \snippet examples/particles/affectors/content/groupgoal.qml lit - The lit group also has TrailEmitters on it for additional fire and smoke, but does not transition anywhere. - There are two more GroupGoal elements that allow particles in the unlit group to transition to the lighting group - (and then to the lit group). - \snippet examples/particles/affectors/content/groupgoal.qml groupgoal-pilot - The first is just an area bound to the location of an image of a pilot flame. When unlit balls pass through the flame, - they go straight to lit because the pilot flame is so hot. - \snippet examples/particles/affectors/content/groupgoal.qml groupgoal-ma - The second is bound to the location of the last pointer interaction, so that touching or clicking on unlit balls (which - is hard due to their constant movement) causes them to move to the lighting group. - - Move shows some simple effects you can get by altering trajectory midway. - The red particles have an affector that affects their position, jumping them forwards by 120px. - \snippet examples/particles/affectors/content/move.qml A - The green particles have an affector that affects their velocity, but with some angle variation. By adding some random direction - velocity to their existing forwards velocity, they begin to spray off in a cone. - \snippet examples/particles/affectors/content/move.qml B - The blue particles have an affector that affects their acceleration, and because it sets relative to false this resets the acceleration instead of - adding to it. Once the blue particles reach the affector, their horizontal velocity stops increasing as their vertical velocity decreases. - \snippet examples/particles/affectors/content/move.qml C - - SpriteGoal has an affector which interacts with the sprite engine of particles, if they are being drawn as sprites by ImageParticle. - \snippet examples/particles/affectors/content/spritegoal.qml 0 - The SpriteGoal follows the image of the rocket ship on screen, and when it interacts with particles drawn by ImageParticle as sprites, - it instructs them to move immediately to the "explode" state, which in this case is the animation of the asteroid breaking into many pieces. - - Turbulence has a flame with smoke, and both sets of particles being affected by a Turbulence affector. This gives a faint wind effect. - \snippet examples/particles/affectors/content/turbulence.qml 0 - To make the wind change direction, subsitute a black and white noise image in the noiseSource parameter (it currently uses a default noise source). - - Wander uses a Wander affector to add some horizontal drift to snowflakes as they fall down. - \snippet examples/particles/affectors/content/wander.qml 0 - There are different movements given by applying the Wander to different attributes of the trajectory, so the example makes it easy to play around and see the difference. -*/ - Item { height: 480 width: 320 diff --git a/examples/particles/affectors/doc/src/affectors.qdoc b/examples/particles/affectors/doc/src/affectors.qdoc new file mode 100644 index 0000000000..9f653fc1f1 --- /dev/null +++ b/examples/particles/affectors/doc/src/affectors.qdoc @@ -0,0 +1,113 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms +** and conditions contained in a signed written agreement between you +** and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \title QtQuick.Particles Examples - Affectors + \example particles/affectors + \brief This is a collection of examples using Affectors in the QML particle system. + \image qml-affectors-example.png + + This is a collection of small QML examples relating to using Affectors in the particle system. + Each example is a small QML file emphasizing a particular element or feature. + + Age demonstrates using an Age affector to prematurely end the lives of particles. + \snippet examples/particles/affectors/content/age.qml 0 + + As you move the affector around the screen, the particles inside it + (which haven't already been affected) jump to a period near the end + of their life. This gives them a short period to finish fading out, + but changing lifeLeft to 0 (the default), would cause them to reach + the end of their life instantly. + + Attractor demonstrates using an Attractor affector to simulate a black hole + \snippet examples/particles/affectors/content/attractor.qml 0 + + All particles in the scene, including the rocket ship's exhaust and pellets, are pulled + towards the black hole. This effect is stronger closer to the black hole, so the + asteroids near the top of the screen are barely affected at all, while the ones + towards the middle sometimes curve drastically. To complete the effect, an Age + affector covers the black hole to destroy particles which come in contact with it. + + Custom Affector manipulates the properties of the particles directly in javascript. + One Affector is used to make the leaves rock back and forth as they fall, looking more + leaf-like than just spinning in circles: + \snippet examples/particles/affectors/content/customaffector.qml 0 + Another is used to provide a slightly varying friction to the leaves as they 'land', + to look more natural: + \snippet examples/particles/affectors/content/customaffector.qml 1 + + Friction is similar to the falling leaves in the custom affector, except that it uses a + flat friction the whole way down instead of custom affectors. + \snippet examples/particles/affectors/content/friction.qml 0 + + Gravity is a convenience affector for applying a constant acceleration to particles inside it + \snippet examples/particles/affectors/content/gravity.qml 0 + + GroupGoal sets up two particle groups for flaming and non-flaming balls, and gives you various + ways to transition between them. + \snippet examples/particles/affectors/content/groupgoal.qml unlit + The non-flaming balls have a one in a hundred chance of lighting on their own each second, but they also + have a GroupGoal set on the whole group. This affector affects all particles of the unlit group, when colliding + with particles in the lit group, and cause them to move to the lighting group. + \snippet examples/particles/affectors/content/groupgoal.qml lighting + lighting is an intermediate group so that the glow builds up and the transition is less jarring. So it automatically + moves into the lit group after 100ms. + \snippet examples/particles/affectors/content/groupgoal.qml lit + The lit group also has TrailEmitters on it for additional fire and smoke, but does not transition anywhere. + There are two more GroupGoal elements that allow particles in the unlit group to transition to the lighting group + (and then to the lit group). + \snippet examples/particles/affectors/content/groupgoal.qml groupgoal-pilot + The first is just an area bound to the location of an image of a pilot flame. When unlit balls pass through the flame, + they go straight to lit because the pilot flame is so hot. + \snippet examples/particles/affectors/content/groupgoal.qml groupgoal-ma + The second is bound to the location of the last pointer interaction, so that touching or clicking on unlit balls (which + is hard due to their constant movement) causes them to move to the lighting group. + + Move shows some simple effects you can get by altering trajectory midway. + The red particles have an affector that affects their position, jumping them forwards by 120px. + \snippet examples/particles/affectors/content/move.qml A + The green particles have an affector that affects their velocity, but with some angle variation. By adding some random direction + velocity to their existing forwards velocity, they begin to spray off in a cone. + \snippet examples/particles/affectors/content/move.qml B + The blue particles have an affector that affects their acceleration, and because it sets relative to false this resets the acceleration instead of + adding to it. Once the blue particles reach the affector, their horizontal velocity stops increasing as their vertical velocity decreases. + \snippet examples/particles/affectors/content/move.qml C + + SpriteGoal has an affector which interacts with the sprite engine of particles, if they are being drawn as sprites by ImageParticle. + \snippet examples/particles/affectors/content/spritegoal.qml 0 + The SpriteGoal follows the image of the rocket ship on screen, and when it interacts with particles drawn by ImageParticle as sprites, + it instructs them to move immediately to the "explode" state, which in this case is the animation of the asteroid breaking into many pieces. + + Turbulence has a flame with smoke, and both sets of particles being affected by a Turbulence affector. This gives a faint wind effect. + \snippet examples/particles/affectors/content/turbulence.qml 0 + To make the wind change direction, subsitute a black and white noise image in the noiseSource parameter (it currently uses a default noise source). + + Wander uses a Wander affector to add some horizontal drift to snowflakes as they fall down. + \snippet examples/particles/affectors/content/wander.qml 0 + There are different movements given by applying the Wander to different attributes of the trajectory, so the example makes it easy to play around and see the difference. +*/ + diff --git a/examples/particles/customparticle/customparticle.qml b/examples/particles/customparticle/customparticle.qml index eb4f772e97..694dfb0fc6 100644 --- a/examples/particles/customparticle/customparticle.qml +++ b/examples/particles/customparticle/customparticle.qml @@ -41,34 +41,6 @@ import QtQuick 2.0 import "../../shared" as Examples -/*! - \title QtQuick.Particles Examples - CustomParticle - \example particles/customparticle - \brief This is a collection of examples using CustomParticle in the QML particle system. - \image qml-customparticle-example.png - - This is a collection of small QML examples relating to using CustomParticle in the particle system. - Each example is a small QML file emphasizing a different way to use CustomParticle. - - Blur Particles adds a blur effect to the particles, which increases over the particle's life time. - It uses a custom vertex shader: - \snippet examples/particles/customparticle/content/blurparticles.qml vertex - to propagate life time simulation to a custom fragment shader: - \snippet examples/particles/customparticle/content/blurparticles.qml fragment - which has access to both the normal image sampler and a blurred sampler, the image plus a ShaderEffect. - - Fragment Shader just uses the particle system as a vertex delivery system. - \snippet examples/particles/customparticle/content/fragmentshader.qml 0 - - Image Colors uses CustomParticle to assign colors to particles based on their location in a picture. - The vertex shader, - \snippet examples/particles/customparticle/content/imagecolors.qml vertex - passes along the starting position for each vertex to the fragment shader, - \snippet examples/particles/customparticle/content/imagecolors.qml fragment - which uses it to determine the color for that particle. - -*/ - Item { height: 480 width: 320 diff --git a/examples/particles/customparticle/doc/src/customparticle.qdoc b/examples/particles/customparticle/doc/src/customparticle.qdoc new file mode 100644 index 0000000000..8faaf4b8c7 --- /dev/null +++ b/examples/particles/customparticle/doc/src/customparticle.qdoc @@ -0,0 +1,54 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms +** and conditions contained in a signed written agreement between you +** and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \title QtQuick.Particles Examples - CustomParticle + \example particles/customparticle + \brief This is a collection of examples using CustomParticle in the QML particle system. + \image qml-customparticle-example.png + + This is a collection of small QML examples relating to using CustomParticle in the particle system. + Each example is a small QML file emphasizing a different way to use CustomParticle. + + Blur Particles adds a blur effect to the particles, which increases over the particle's life time. + It uses a custom vertex shader: + \snippet examples/particles/customparticle/content/blurparticles.qml vertex + to propagate life time simulation to a custom fragement shader: + \snippet examples/particles/customparticle/content/blurparticles.qml fragment + which has access to both the normal image sampler and a blurred sampler, the image plus a ShaderEffect. + + Fragment Shader just uses the particle system as a vertex delivery system. + \snippet examples/particles/customparticle/content/fragmentshader.qml 0 + + Image Colors uses CustomParticle to assign colors to particles based on their location in a picture. + The vertex shader, + \snippet examples/particles/customparticle/content/imagecolors.qml vertex + passes along the starting position for each vertex to the fragment shader, + \snippet examples/particles/customparticle/content/imagecolors.qml fragment + which uses it to determine the color for that particle. + +*/ diff --git a/examples/particles/emitters/doc/src/emitters.qdoc b/examples/particles/emitters/doc/src/emitters.qdoc new file mode 100644 index 0000000000..f6a9fd3db4 --- /dev/null +++ b/examples/particles/emitters/doc/src/emitters.qdoc @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms +** and conditions contained in a signed written agreement between you +** and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +/*! + \title QtQuick.Particles Examples - Emitters + \example particles/emitters + \brief This is a collection of examples using Emitters in the QML particle system. + \image qml-emitters-example.png + + This is a collection of small QML examples relating to using Emitters in the particle system. + Each example is a small QML file emphasizing a particular element or feature. + + Velocity from motion gives the effect of strong particle motion through primarily moving the emitters: + \snippet examples/particles/emitters/content/velocityfrommotion.qml 0 + + Burst and pulse calls the burst and pulse methods on two idential emitters. + \snippet examples/particles/emitters/content/burstandpulse.qml 0 + Note how burst takes an argument of number of particles to emit, and pulse takes an argument of number of milliseconds to emit for. + This gives a slightly different behaviour, which is easy to see in this example. + + Custom Emitter connects to the emitParticles signal to set arbitrary values on particle data as they're emitted; + \snippet examples/particles/emitters/content/customemitter.qml 0 + This is used to emit curving particles in six rotating spokes. + + Emit mask sets an image mask on the Emitter, to emit out of an arbitrary shape. + \snippet examples/particles/emitters/content/emitmask.qml 0 + + Maximum emitted emits no more than a certain number of particles at a time. This example makes it easy to see what happens when the limit is reached. + + Shape and Direction emits particles out of an unfilled Ellipse shape, using a TargetDirection + \snippet examples/particles/emitters/content/shapeanddirection.qml 0 + This sends the particles towards the center of the ellipse with proportional speed, keeping the ellipse outline as they move to the center. + + TrailEmitter uses that element to add smoke particles to trail the fire particles in the scene. + \snippet examples/particles/emitters/content/trailemitter.qml 0 + +*/ diff --git a/examples/particles/emitters/emitters.qml b/examples/particles/emitters/emitters.qml index d6537569cf..75e77e5d4f 100644 --- a/examples/particles/emitters/emitters.qml +++ b/examples/particles/emitters/emitters.qml @@ -41,41 +41,6 @@ import QtQuick 2.0 import "../../shared" as Examples -/*! - \title QtQuick.Particles Examples - Emitters - \example particles/emitters - \brief This is a collection of examples using Emitters in the QML particle system. - \image qml-emitters-example.png - - This is a collection of small QML examples relating to using Emitters in the particle system. - Each example is a small QML file emphasizing a particular element or feature. - - Velocity from motion gives the effect of strong particle motion through primarily moving the emitters: - \snippet examples/particles/emitters/content/velocityfrommotion.qml 0 - - Burst and pulse calls the burst and pulse methods on two idential emitters. - \snippet examples/particles/emitters/content/burstandpulse.qml 0 - Note how burst takes an argument of number of particles to emit, and pulse takes an argument of number of milliseconds to emit for. - This gives a slightly different behaviour, which is easy to see in this example. - - Custom Emitter connects to the emitParticles signal to set arbitrary values on particle data as they're emitted; - \snippet examples/particles/emitters/content/customemitter.qml 0 - This is used to emit curving particles in six rotating spokes. - - Emit mask sets an image mask on the Emitter, to emit out of an arbitrary shape. - \snippet examples/particles/emitters/content/emitmask.qml 0 - - Maximum emitted emits no more than a certain number of particles at a time. This example makes it easy to see what happens when the limit is reached. - - Shape and Direction emits particles out of an unfilled Ellipse shape, using a TargetDirection - \snippet examples/particles/emitters/content/shapeanddirection.qml 0 - This sends the particles towards the center of the ellipse with proportional speed, keeping the ellipse outline as they move to the center. - - TrailEmitter uses that element to add smoke particles to trail the fire particles in the scene. - \snippet examples/particles/emitters/content/trailemitter.qml 0 - -*/ - Item { height: 480 width: 320 diff --git a/examples/particles/imageparticle/doc/src/imageparticle.qdoc b/examples/particles/imageparticle/doc/src/imageparticle.qdoc new file mode 100644 index 0000000000..d74db05e5f --- /dev/null +++ b/examples/particles/imageparticle/doc/src/imageparticle.qdoc @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms +** and conditions contained in a signed written agreement between you +** and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \title QtQuick.Particles Examples - Affectors + \example particles/imageparticle + \brief This is a collection of examples using Affectors in the QML particle system. + \image qml-imageparticle-example.png + + This is a collection of small QML examples relating to using Affectors in the particle system. + Each example is a small QML file emphasizing a particular element or feature. + + All at once shows off several of the features of ImageParticle at the same time. + \snippet examples/particles/imageparticle/content/allatonce.qml 0 + + Colored shows a simple ImageParticle with some color variation. + \snippet examples/particles/imageparticle/content/colored.qml 0 + + Color Table sets the color over life on the particles to provide a fixed rainbow effect. + \snippet examples/particles/imageparticle/content/colortable.qml 0 + + Deformation spins and squishes a starfish particle. + \snippet examples/particles/imageparticle/content/colortable.qml spin + \snippet examples/particles/imageparticle/content/colortable.qml deform + + Rotation demonstrates the autoRotate property, so that particles rotate in the direction that they travel. + + Sharing demonstrates what happens when multiple ImageParticles try to render the same particle. + The following ImageParticle renders the particles inside the ListView: + \snippet examples/particles/imageparticle/content/sharing.qml 0 + The following ImageParticle is placed inside the list highlight, and renders the particles above the other ImageParticle. + \snippet examples/particles/imageparticle/content/sharing.qml 1 + Note that because it sets the color and alpha in this ImageParticle, it renders the particles in a different color. + Since it doesn't specify anything about the rotation, it shares the rotation with the other ImageParticle so that the flowers are rotated the same way in both. + Note that you can undo rotation in another ImageParticle, you just need to explicity set rotationVariation to 0. + + Sprites demonstrates using an image particle to render animated sprites instead of static images for each particle. +*/ diff --git a/examples/particles/imageparticle/imageparticle.qml b/examples/particles/imageparticle/imageparticle.qml index 0635fd7010..c6caa1c29c 100644 --- a/examples/particles/imageparticle/imageparticle.qml +++ b/examples/particles/imageparticle/imageparticle.qml @@ -41,42 +41,6 @@ import QtQuick 2.0 import "../../shared" as Examples -/*! - \title QtQuick.Particles Examples - Affectors - \example particles/imageparticle - \brief This is a collection of examples using Affectors in the QML particle system. - \image qml-imageparticle-example.png - - This is a collection of small QML examples relating to using Affectors in the particle system. - Each example is a small QML file emphasizing a particular element or feature. - - All at once shows off several of the features of ImageParticle at the same time. - \snippet examples/particles/imageparticle/content/allatonce.qml 0 - - Colored shows a simple ImageParticle with some color variation. - \snippet examples/particles/imageparticle/content/colored.qml 0 - - Color Table sets the color over life on the particles to provide a fixed rainbow effect. - \snippet examples/particles/imageparticle/content/colortable.qml 0 - - Deformation spins and squishes a starfish particle. - \snippet examples/particles/imageparticle/content/colortable.qml spin - \snippet examples/particles/imageparticle/content/colortable.qml deform - - Rotation demonstrates the autoRotate property, so that particles rotate in the direction that they travel. - - Sharing demonstrates what happens when multiple ImageParticles try to render the same particle. - The following ImageParticle renders the particles inside the ListView: - \snippet examples/particles/imageparticle/content/sharing.qml 0 - The following ImageParticle is placed inside the list highlight, and renders the particles above the other ImageParticle. - \snippet examples/particles/imageparticle/content/sharing.qml 1 - Note that because it sets the color and alpha in this ImageParticle, it renders the particles in a different color. - Since it doesn't specify anything about the rotation, it shares the rotation with the other ImageParticle so that the flowers are rotated the same way in both. - Note that you can undo rotation in another ImageParticle, you just need to explicitly set rotationVariation to 0. - - Sprites demonstrates using an image particle to render animated sprites instead of static images for each particle. -*/ - Item { height: 480 width: 320 diff --git a/examples/particles/system/doc/src/system.qdoc b/examples/particles/system/doc/src/system.qdoc new file mode 100644 index 0000000000..a52bd0d55c --- /dev/null +++ b/examples/particles/system/doc/src/system.qdoc @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms +** and conditions contained in a signed written agreement between you +** and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \title QtQuick.Particles Examples - Affectors + \example particles/system + \brief This is a collection of examples using Affectors in the QML particle system. + \image qml-system-example.png + + This is a collection of small QML examples relating to using Affectors in the particle system. + Each example is a small QML file emphasizing a particular element or feature. + + Dynamic comparison compares using the particle system to getting a similar effect with the following code that dynamically instantiates Image elements. + \snippet examples/particles/system/content/dynamiccomparison.qml fake + Note how the Image elements are not able to be randomly colorized. + + Start and Stop simply sets the running and paused states of a ParticleSystem. While the system does not perform any simulation when stopped or paused, a restart restarts the simulation from the beginning, while unpausing resumes the simulation from where it was. + + Timed group changes is an example that highlights the ParticleGroup element. While normally referring to groups with a string name is sufficent, additional effects can be + done by setting properties on groups. + The first group has a variable duration on it, but always transitions to the second group. + \snippet examples/particles/system/content/timedgroupchanges.qml 0 + The second group has a TrailEmitter on it, and a fixed duration for emitting into the third group. By placing the TrailEmitter as a direct child of the ParticleGroup, it automatically selects that group to follow. + \snippet examples/particles/system/content/timedgroupchanges.qml 1 + The third group has an Affector as a direct child, which makes the affector automatically target this group. The affector means that as soon as particles enter this group, a burst function can be called on another emitter, using the x,y positions of this particle. + \snippet examples/particles/system/content/timedgroupchanges.qml 2 + + If TrailEmitter does not suit your needs for multiple emitters, you can also dynamically create Emitters while still using the same ParticleSystem and image particle + \snippet examples/particles/system/content/dynamicemitters.qml 0 + Note that this effect, a flurry of flying rainbow spears, would be better served with TrailEmitter. It is only done with dynamic emitters in this example to show the concept more simply. + + Multiple Painters shows how to control paint ordering of individual particles. While the paint ordering of particles within one ImagePainter is not strictly defined, ImageParticle elements follow the normal Z-ordering rules for QtQuick items. This example allow you to paint the inside of the particles above the black borders using a pair of ImageParticles each painting different parts of the same logical particle. + +*/ + diff --git a/examples/particles/system/system.qml b/examples/particles/system/system.qml index 2177f60987..ccf147e410 100644 --- a/examples/particles/system/system.qml +++ b/examples/particles/system/system.qml @@ -41,38 +41,6 @@ import QtQuick 2.0 import "../../shared" as Examples -/*! - \title QtQuick.Particles Examples - Affectors - \example particles/system - \brief This is a collection of examples using Affectors in the QML particle system. - \image qml-system-example.png - - This is a collection of small QML examples relating to using Affectors in the particle system. - Each example is a small QML file emphasizing a particular element or feature. - - Dynamic comparison compares using the particle system to getting a similar effect with the following code that dynamically instantiates Image elements. - \snippet examples/particles/system/content/dynamiccomparison.qml fake - Note how the Image elements are not able to be randomly colorized. - - Start and Stop simply sets the running and paused states of a ParticleSystem. While the system does not perform any simulation when stopped or paused, a restart restarts the simulation from the beginning, while unpausing resumes the simulation from where it was. - - Timed group changes is an example that highlights the ParticleGroup element. While normally referring to groups with a string name is sufficient, additional effects can be - done by setting properties on groups. - The first group has a variable duration on it, but always transitions to the second group. - \snippet examples/particles/system/content/timedgroupchanges.qml 0 - The second group has a TrailEmitter on it, and a fixed duration for emitting into the third group. By placing the TrailEmitter as a direct child of the ParticleGroup, it automatically selects that group to follow. - \snippet examples/particles/system/content/timedgroupchanges.qml 1 - The third group has an Affector as a direct child, which makes the affector automatically target this group. The affector means that as soon as particles enter this group, a burst function can be called on another emitter, using the x,y positions of this particle. - \snippet examples/particles/system/content/timedgroupchanges.qml 2 - - If TrailEmitter does not suit your needs for multiple emitters, you can also dynamically create Emitters while still using the same ParticleSystem and image particle - \snippet examples/particles/system/content/dynamicemitters.qml 0 - Note that this effect, a flurry of flying rainbow spears, would be better served with TrailEmitter. It is only done with dynamic emitters in this example to show the concept more simply. - - Multiple Painters shows how to control paint ordering of individual particles. While the paint ordering of particles within one ImagePainter is not strictly defined, ImageParticle elements follow the normal Z-ordering rules for QtQuick items. This example allow you to paint the inside of the particles above the black borders using a pair of ImageParticles each painting different parts of the same logical particle. - -*/ - Item { height: 480 width: 320 |