width: Math.min(bigImage.width * bigImage.scale, flickable.width);
height: Math.min(bigImage.height * bigImage.scale, flickable.height);
anchors.centerIn: parent
- particleSize: 4
- particleDuration: flipDuration
- particlesPerSecond: 2048
+ size: 4
+ lifeSpan: flipDuration
+ emitRate: 2048
emitting: false
}
CustomParticle{
color: "lightsteelblue"
alpha: 0.1
colorVariation: 0.05
- image: "images/particle.png"
+ source: "images/particle.png"
system: barSys
}
Emitter{
x: 2; width: Math.max(parent.width * progress - 4, 0);
speed: AngledDirection{ angleVariation: 180; magnitudeVariation: 12 }
system: barSys
- particlesPerSecond: width;
- particleDuration: 1000
- particleSize: 20
- particleSizeVariation: 4
- particleEndSize: 12
- maxParticles: parent.width;
+ emitRate: width;
+ lifeSpan: 1000
+ size: 20
+ sizeVariation: 4
+ endSize: 12
+ emitCap: parent.width;
}
Text {
y: -128
height: 32
speed: PointDirection{ y: (container.height + 128)/12 }
- particlesPerSecond: 0.4
- particleDuration: 1000000//eventually -1 should mean a million seconds for neatness
- maxParticles: 15
+ emitRate: 0.4
+ lifeSpan: 1000000//eventually -1 should mean a million seconds for neatness
+ emitCap: 15
}
Emitter{
system: sys
y: -128
height: 32
speed: PointDirection{ y: (container.height + 128)/12 }
- particlesPerSecond: 0.4
- particleDuration: 1000000//eventually -1 should mean a million seconds for neatness
- maxParticles: 15
+ emitRate: 0.4
+ lifeSpan: 1000000//eventually -1 should mean a million seconds for neatness
+ emitCap: 15
}
Emitter{
system: sys
y: -128
height: 32
speed: PointDirection{ y: (container.height + 128)/12 }
- particlesPerSecond: 0.4
- particleDuration: 1000000//eventually -1 should mean a million seconds for neatness
- maxParticles: 15
+ emitRate: 0.4
+ lifeSpan: 1000000//eventually -1 should mean a million seconds for neatness
+ emitCap: 15
}
Kill{
system: sys
}
ImageParticle {
particles: ["trail"]
- image: "content/images/particle.png"
+ source: "content/images/particle.png"
color: "#1A1A6F"
alpha: 0.1
colorVariation: 0.01
Emitter {
particle: "drops"
width: parent.width
- particlesPerSecond: 0.5
- particleDuration: 20000
+ emitRate: 0.5
+ lifeSpan: 20000
speed: PointDirection{
y: {screen.height/18}
}
FollowEmitter {
follow: "drops"
particle: "trail"
- particlesPerParticlePerSecond: 18
- particleSize: 32
- particleEndSize: 0
- particleSizeVariation: 4
- particleDuration: 1200
+ emitRatePerParticle: 18
+ size: 32
+ endSize: 0
+ sizeVariation: 4
+ lifeSpan: 1200
system: bgParticles
anchors.fill: parent
- emissionWidth: 16
- emissionHeight: 16
- emissionShape: EllipseShape{}
+ emitWidth: 16
+ emitHeight: 16
+ emitShape: EllipseShape{}
}
VisualDataModel{
anchors.fill: parent
shape: EllipseShape{}
speed: TargetedDirection{ targetX: width/2; targetY: width/2; magnitude: -1; proportionalMagnitude: true}
- particleDuration: 1000
- particlesPerSecond: 64
+ lifeSpan: 1000
+ emitRate: 64
- particleSize: 24
- particleSizeVariation: 24
- particleEndSize: 0
+ size: 24
+ sizeVariation: 24
+ endSize: 0
}
property int blastsLeft: 0
system: container.system
anchors.centerIn: parent
- particleDuration: 1000
- particlesPerSecond: 16
- maxParticles: blasts
- particleSize: 24
- particleEndSize:16
- particleSizeVariation: 8
+ lifeSpan: 1000
+ emitRate: 16
+ emitCap: blasts
+ size: 24
+ endSize:16
+ sizeVariation: 8
speed: TargetedDirection{
id: blastVector
targetX: target.x; targetY: target.y; magnitude: 1.1; proportionalMagnitude: true
emitting: container.show
system: container.system
anchors.centerIn: parent
- particleDuration: 2000
- particlesPerSecond: 1
+ lifeSpan: 2000
+ emitRate: 1
- particleSize: 4
- particleEndSize: 0
+ size: 4
+ endSize: 0
}
function fireAt(targetArg, hardpoint){
system: container.system
anchors.centerIn: parent
- particleDuration: 1000
- particlesPerSecond: 1
- particleSize: 8
- particleEndSize: 4
+ lifeSpan: 1000
+ emitRate: 1
+ size: 8
+ endSize: 4
speed: TargetedDirection{
id: blastVector
targetX: target.x; targetY: target.y; magnitude: 1.1; proportionalMagnitude: true
height: 64
shape: EllipseShape{}
- particlesPerSecond: hp > 0 ? hp * 1 + 20 : 0
- particleDuration: 2400
- maxParticles: (maxHP * 1 + 20)*2.4
+ emitRate: hp > 0 ? hp * 1 + 20 : 0
+ lifeSpan: 2400
+ emitCap: (maxHP * 1 + 20)*2.4
- particleSize: 48
- particleSizeVariation: 16
- particleEndSize: 16
+ size: 48
+ sizeVariation: 16
+ endSize: 16
speed: AngledDirection{angleVariation:360; magnitudeVariation: 32}
}
shape: EllipseShape{ fill: false }
emitting: hp>0
- particlesPerSecond: 16
- particleDuration: 2000
+ emitRate: 16
+ lifeSpan: 2000
- particleSize: 48
- particleSizeVariation: 24
+ size: 48
+ sizeVariation: 24
SpriteGoal{
id: destructor
system: container.system
particle: "frigateShield"
anchors.centerIn: parent
- particleSize: 92
- particlesPerSecond: 1
- particleDuration: 4800
+ size: 92
+ emitRate: 1
+ lifeSpan: 4800
emitting: hp > 0
}
Emitter{
height: 16
shape: EllipseShape{}
- particleSize: 16
- particleSizeVariation: 8
- particleEndSize: 8
- particlesPerSecond: hp > 0 ? hp * 1 + 20 : 0
- particleDuration: 1200
- maxParticles: (maxHP * 1 + 20)*2
+ size: 16
+ sizeVariation: 8
+ endSize: 8
+ emitRate: hp > 0 ? hp * 1 + 20 : 0
+ lifeSpan: 1200
+ emitCap: (maxHP * 1 + 20)*2
}
Timer{
id: fireControl
emitting: container.show
shape: EllipseShape{}
speed: TargetedDirection{ targetX: width/2; targetY: width/2; magnitude: -1; proportionalMagnitude: true }
- particleDuration: 1000
- particlesPerSecond: 64
+ lifeSpan: 1000
+ emitRate: 64
- particleSize: 24
- particleSizeVariation: 8
- particleEndSize: 8
+ size: 24
+ sizeVariation: 8
+ endSize: 8
}
function fireAt(targetArg, hardpoint){
mirrored: (emitter.y < 0 || emitter.x < 0) && !(emitter.y < 0 && emitter.x < 0 )//I just want XOR
}
- particleDuration: 1000
- particlesPerSecond: 8000
- maxParticles: 800
- particleSize: 16
- particleEndSize: 0
+ lifeSpan: 1000
+ emitRate: 8000
+ emitCap: 800
+ size: 16
+ endSize: 0
speed: PointDirection{xVariation: 4; yVariation: 4}
}
ImageParticle{
system: sys
particles: ["default"]
- image: "pics/blur-circle3.png"
+ source: "pics/blur-circle3.png"
color: "#003A3A3A"
colorVariation: 0.1
z: 0
ImageParticle{
system: sys
particles: ["redTeam"]
- image: "pics/blur-circle3.png"
+ source: "pics/blur-circle3.png"
color: "#0028060A"
colorVariation: 0.1
z: 0
ImageParticle{
system: sys
particles: ["greenTeam"]
- image: "pics/blur-circle3.png"
+ source: "pics/blur-circle3.png"
color: "#0006280A"
colorVariation: 0.1
z: 0
ImageParticle{
system: sys
particles: ["blaster"]
- image: "pics/star2.png"
+ source: "pics/star2.png"
//color: "#0F282406"
color: "#0F484416"
colorVariation: 0.2
ImageParticle{
system: sys
particles: ["laser"]
- image: "pics/star3.png"
+ source: "pics/star3.png"
//color: "#00123F68"
color: "#00428FF8"
colorVariation: 0.2
ImageParticle{
system: sys
particles: ["cannon"]
- image: "pics/particle.png"
+ source: "pics/particle.png"
color: "#80FFAAFF"
colorVariation: 0.1
z: 2
ImageParticle{
system: sys
particles: ["cannonCore"]
- image: "pics/particle.png"
+ source: "pics/particle.png"
color: "#00666666"
colorVariation: 0.8
z: 1
ImageParticle{
system: sys
particles: ["cannonWake"]
- image: "pics/star.png"
+ source: "pics/star.png"
color: "#00CCCCCC"
colorVariation: 0.2
z: 1
ImageParticle{
system: sys
particles: ["frigateShield"]
- image: "pics/blur-circle2.png"
+ source: "pics/blur-circle2.png"
color: "#00000000"
colorVariation: 0.05
blueVariation: 0.5
system: sys
particle: "cannonWake"
follow: "cannon"
- particlesPerParticlePerSecond: 64
- particleDuration: 600
+ emitRatePerParticle: 64
+ lifeSpan: 600
speed: AngledDirection{ angleVariation: 360; magnitude: 48}
- particleSize: 16
- particleEndSize: 8
- particleSizeVariation: 2
+ size: 16
+ endSize: 8
+ sizeVariation: 2
emitting: true
width: 1000//XXX: Terrible hack
height: 1000
system: sys
particle: "cannonCore"
follow: "cannon"
- particlesPerParticlePerSecond: 256
- particleDuration: 128
- particleSize: 24
- particleEndSize: 8
+ emitRatePerParticle: 256
+ lifeSpan: 128
+ size: 24
+ endSize: 8
emitting: true
width: 1000//XXX: Terrible hack
height: 1000
particle: container.shipParticle
shape: EllipseShape{}
- particlesPerSecond: hp > 0 ? hp + 20 : 0
- particleDuration: blinkInterval
- maxParticles: (maxHP + 20)
+ emitRate: hp > 0 ? hp + 20 : 0
+ lifeSpan: blinkInterval
+ emitCap: (maxHP + 20)
acceleration: AngledDirection{angleVariation: 360; magnitude: 8}
- particleSize: 24
- particleEndSize: 4
- particleSizeVariation: 8
+ size: 24
+ endSize: 4
+ sizeVariation: 8
width: 16
height: 16
x: 64
system: particles
emitting: true
particle: "default"
- particlesPerSecond: 1200
- particleDuration: 1200
+ emitRate: 1200
+ lifeSpan: 1200
shape: MaskShape{source:"content/pics/TitleText.png"}
- particleSize: 16
- particleEndSize: 0
- particleSizeVariation: 8
+ size: 16
+ endSize: 0
+ sizeVariation: 8
speed: AngledDirection{angleVariation:360; magnitudeVariation: 6}
}
}
speed: TargetedDirection{targetX: block.width/2; targetY: block.height/2; magnitude: -60; magnitudeVariation: 60}
shape: EllipseShape{fill:true}
emitting: false;
- particleDuration: 700; particleDurationVariation: 100
- particlesPerSecond: 1000
- maxParticles: 100 //only fires 0.1s bursts (still 2x old number, ImageParticle wants less than 16000 max though)
- particleSize: 28
- particleEndSize: 14
+ lifeSpan: 700; lifeSpanVariation: 100
+ emitRate: 1000
+ emitCap: 100 //only fires 0.1s bursts (still 2x old number, ImageParticle wants less than 16000 max though)
+ size: 28
+ endSize: 14
}
states: [
system: particleSystem
particles: ["red"]
color: Qt.darker("red");//Actually want desaturated...
- image: "SamegameCore/pics/particle.png"
+ source: "SamegameCore/pics/particle.png"
colorVariation: 0.4
alpha: 0.1
}
system: particleSystem
particles: ["green"]
color: Qt.darker("green");//Actually want desaturated...
- image: "SamegameCore/pics/particle.png"
+ source: "SamegameCore/pics/particle.png"
colorVariation: 0.4
alpha: 0.1
}
system: particleSystem
particles: ["blue"]
color: Qt.darker("blue");//Actually want desaturated...
- image: "SamegameCore/pics/particle.png"
+ source: "SamegameCore/pics/particle.png"
colorVariation: 0.4
alpha: 0.1
}
//![0]
Column {
- Image { source: "image://colors/yellow" }
- Image { source: "image://colors/red" }
+ Image { source: "source://colors/yellow" }
+ Image { source: "source://colors/red" }
}
//![0]
ImageParticle{
id: up
system: sys
- image: "content/singlesmile.png"
+ source: "content/singlesmile.png"
}
Emitter{
anchors.centerIn: parent
system: sys
- particlesPerSecond: 1000
- particleSize: 20
- particleDuration: 10000
+ emitRate: 1000
+ size: 20
+ lifeSpan: 10000
speed: AngledDirection{angleVariation: 360; magnitudeVariation: 100;}
}
MouseArea{
id: emitter
system: sys
emitting: false
- particleDuration: 4000
- maxParticles: 1200
+ lifeSpan: 4000
+ emitCap: 1200
anchors.fill: parent
- particleSize: 32
+ size: 32
speed: PointDirection{ xVariation: 12; yVariation: 12 }
}
MouseArea{
ImageParticle{
system: sys
particles: ["goingLeft", "goingRight"]
- image: "content/singlesmile.png"
+ source: "content/singlesmile.png"
rotation: 90
rotationSpeed: 90
autoRotation: true
ImageParticle{
system: sys
particles: ["goingDown"]
- image: "content/squarefacespriteXX.png"
+ source: "content/squarefacespriteXX.png"
rotation: 180
yVector: PointDirection{ y: 0.5; yVariation: 0.25; xVariation: 0.25; }
}
emitting: false
particle: "goingRight"
speed: PointDirection{ x: 100 }
- particleDuration: 4000
- particlesPerSecond: 2
- particleSize: 32
+ lifeSpan: 4000
+ emitRate: 2
+ size: 32
}
Emitter{
id: emitB
emitting: false
particle: "goingLeft"
speed: PointDirection{ x: -100 }
- particleDuration: 4000
- particlesPerSecond: 2
- particleSize: 32
+ lifeSpan: 4000
+ emitRate: 2
+ size: 32
}
Emitter{
id: emitC
emitting: false
particle: "goingDown"
speed: PointDirection{ x: 100 }
- particleDuration: 4000
- particlesPerSecond: 2
- particleSize: 32
+ lifeSpan: 4000
+ emitRate: 2
+ size: 32
}
}
ImageParticle{
id: test
particles: ["Test"]
- image: "content/particle.png"
+ source: "content/particle.png"
system: sys
z: 2
anchors.fill: parent
particle: "Test"
anchors.fill: parent
id: particles2
- particlesPerSecond: 6000
- particleDuration: 720
+ emitRate: 6000
+ lifeSpan: 720
emitting: true
- particleSize: 10
+ size: 10
shape: mask
}
Emitter{
particle: "Face"
anchors.fill: parent
id: particles
- particlesPerSecond: 60
- particleDuration: 1440
+ emitRate: 60
+ lifeSpan: 1440
emitting: true
speed: PointDirection{xVariation: 10; yVariation: 10;}
- particleSize: 30
- particleSizeVariation: 10
+ size: 30
+ sizeVariation: 10
shape: mask
}
ParticleSystem{
}
Emitter{
system: sys
- particlesPerSecond: 16
- particleDuration: 10000
+ emitRate: 16
+ lifeSpan: 10000
emitting: true
speed: AngledDirection{angle: 90; magnitude: 60; angleVariation: 5}
acceleration: PointDirection{ y: 10 }
- particleSize: 30
- particleSizeVariation: 10
+ size: 30
+ sizeVariation: 10
width: parent.width
height: 100
}
id: particleEmitter
system: sys
width: parent.width
- particlesPerSecond: 16
- particleDuration: 8000
+ emitRate: 16
+ lifeSpan: 8000
emitting: true
speed: AngledDirection{angle: 90; magnitude: 300; magnitudeVariation: 100; angleVariation: 5}
acceleration: PointDirection{ y: 10 }
- particleSize: 30
- particleSizeVariation: 10
+ size: 30
+ sizeVariation: 10
}
Binding{
target: particleEmitter
system: sys
anchors.centerIn: parent
id: particles
- particlesPerSecond: 200
- particleDuration: 6000
+ emitRate: 200
+ lifeSpan: 6000
emitting: true
speed: AngledDirection{angleVariation: 360; magnitude: 80; magnitudeVariation: 40}
- particleSize: 40
- particleEndSize: 80
+ size: 40
+ endSize: 80
}
Text{
x: 16
ImageParticle {
system: sys
particles: ["starfield"]
- image: "content/star.png"
+ source: "content/star.png"
colorVariation: 0.3
color: "white"
}
system: sys
particle: "starfield"
- particlesPerSecond: 80
- particleDuration: 2500
+ emitRate: 80
+ lifeSpan: 2500
anchors.centerIn: parent
//acceleration: AngledDirection{angleVariation: 360; magnitude: 200}//Is this a better effect, more consistent speed?
acceleration: PointDirection{ xVariation: 200; yVariation: 200; }
- particleSize: 0
- particleEndSize: 80
- particleSizeVariation: 10
+ size: 0
+ endSize: 80
+ sizeVariation: 10
}
Emitter{
system: sys
particle: "meteor"
- particlesPerSecond: 12
- particleDuration: 5000
+ emitRate: 12
+ lifeSpan: 5000
emitting: true
acceleration: PointDirection{ xVariation: 80; yVariation: 80; }
- particleSize: 15
- particleEndSize: 300
+ size: 15
+ endSize: 300
anchors.centerIn: parent
}
ImageParticle{
z:0
system: sys
particles: ["exhaust"]
- image: "content/particle4.png"
+ source: "content/particle4.png"
color: "orange"
SequentialAnimation on color {
system: sys
particle: "exhaust"
- particlesPerSecond: 300
- particleDuration: 500
+ emitRate: 300
+ lifeSpan: 500
y: holder.y
x: holder.x
acceleration: PointDirection{ xVariation: 10; yVariation: 10; }
- particleSize: 4
- particleSizeVariation: 4
+ size: 4
+ sizeVariation: 4
}
}
Emitter{
particle: "stars"
system: particles
- particlesPerSecond: 40
- particleDuration: 4000
+ emitRate: 40
+ lifeSpan: 4000
emitting: true
- particleSize: 30
- particleSizeVariation: 10
+ size: 30
+ sizeVariation: 10
speed: PointDirection{ x: 220; xVariation: 40 }
height: parent.height
}
Emitter{
particle: "roids"
system: particles
- particlesPerSecond: 10
- particleDuration: 4000
+ emitRate: 10
+ lifeSpan: 4000
emitting: true
- particleSize: 30
- particleSizeVariation: 10
+ size: 30
+ sizeVariation: 10
speed: PointDirection{ x: 220; xVariation: 40 }
height: parent.height
}
id: stars
particles: ["stars"]
system: particles
- image: "content/star.png"
+ source: "content/star.png"
color: "white"
colorVariation: 0.1
alpha: 0
id: shot
particles: ["shot"]
system: particles
- image: "content/star.png"
+ source: "content/star.png"
color: "#0FF06600"
colorVariation: 0.3
id: engine
particles: ["engine"]
system: particles
- image: "content/particle4.png"
+ source: "content/particle4.png"
color: "orange"
SequentialAnimation on color {
Emitter{
particle: "engine"
system: particles
- particlesPerSecond: 200
- particleDuration: 1000
+ emitRate: 200
+ lifeSpan: 1000
emitting: true
- particleSize: 10
- particleEndSize: 4
- particleSizeVariation: 4
+ size: 10
+ endSize: 4
+ sizeVariation: 4
speed: PointDirection{ x: -128; xVariation: 32 }
height: parent.height
width: 20
Emitter{
particle: "shot"
system: particles
- particlesPerSecond: 32
- particleDuration: 2000
+ emitRate: 32
+ lifeSpan: 2000
emitting: spacePressed
- particleSize: 40
+ size: 40
speed: PointDirection{ x: 256; }
x: parent.width
y: parent.height/2
Emitter{
system:sys
height: parent.height
- particlesPerSecond: 1
- particleDuration: 12000
+ emitRate: 1
+ lifeSpan: 12000
speed: PointDirection{x:20;}
- particleSize: 64
+ size: 64
}
ShaderEffectSource{
id: theSource
id: shell
anchors.fill: parent
}
- property string emissionMode: "Falling"
- onEmissionModeChanged: workaround.active = true
VisualDataModel{//TODO: Transitions between modes
id: vdm
model: [
}
GridView{
anchors.fill: parent
- anchors.bottomMargin: 128
+ cellWidth: 120
+ cellHeight: 120
model: vdm
- visible: emissionMode == "Grid"
- opacity: visible?1:0
- Behavior on opacity{NumberAnimation{}}
- }
- ParticleSystem{ id: sys }
- ModelParticle{
- system: sys
- model: vdm
- }
- Kill{
- //TODO: File bug?
- id: workaround
- system: sys
- active: false
- onActiveChanged: timer.start()
- Timer{
- id: timer
- interval: 32
- running: false
- repeat: false
- onTriggered: workaround.active = false
- }
- }
- Emitter{
- system: sys
- emitting: emissionMode == "Falling"
- width: parent.width
- particlesPerSecond: 2
- particleDuration: 6000
- speed: PointDirection{y:100;}
- }
- Emitter{
- system: sys
- emitting: emissionMode == "Bursting"
- anchors.centerIn: parent
- particlesPerSecond: 2
- particleDuration: 6000
- speed: AngledDirection{magnitude: 60; angleVariation: 360}
- }
- Emitter{
- system: sys
- emitting: emissionMode == "Shimmering"
- anchors.fill: parent
- particlesPerSecond: 4
- particleDuration: 4000
- }
- Row{
- anchors.bottom: parent.bottom
- anchors.horizontalCenter: parent.horizontalCenter
- Button{
- text:"Grid"
- onClicked: emissionMode = "Grid";
- }
- Button{
- text:"Fall"
- onClicked: emissionMode = "Falling";
- }
- Button{
- text:"Burst"
- onClicked: emissionMode = "Bursting";
- }
- Button{
- text:"Shimmer"
- onClicked: emissionMode = "Shimmering";
- }
}
}
x: parent.width/4
y:parent.height
speed: PointDirection{ y: -64; yVariation: 16 }
- particlesPerSecond: 1
- particleDuration: 8000
+ emitRate: 1
+ lifeSpan: 8000
}
Wander{
system: sys
system: sys
id: burster;
emitting: false
- particlesPerSecond: 1000
- particleDuration: 50000
- maxParticles: 100;
+ emitRate: 1000
+ lifeSpan: 50000
+ emitCap: 100;
speed: PointDirection{xVariation: 400; yVariation: 400}
anchors.centerIn: parent
Timer{
}
ImageParticle{
system: sys
- image: "../trails/content/particle.png"
+ source: "../trails/content/particle.png"
color: "black"
colorVariation: 0.0
}
width: 100
x: 50
speed: PointDirection{ y: 40 }
- particleDuration: 5000
- particlesPerSecond: 1.6
+ lifeSpan: 5000
+ emitRate: 1.6
}
}
x: -132/2
y: 132/2
speed: PointDirection{ x: 32; xVariation: 8 }
- particlesPerSecond: 0.5
- particleDuration: 120000 //TODO: A -1 or something which does 'infinite'? (but need disable fade first)
+ emitRate: 0.5
+ lifeSpan: 120000 //TODO: A -1 or something which does 'infinite'? (but need disable fade first)
particle: "photos"
}
Kill{
ImageParticle{
system: sys
particles: ["fireworks"]
- image: "../trails/content/star.png"
+ source: "../trails/content/star.png"
color: "lightsteelblue"
alpha: 0
colorVariation: 0
Emitter{
id: centerEmitter
speed: PointDirection{ x: 32; xVariation: 8;}
- particlesPerSecond: 0.5
- particleDuration: 12000 //TODO: A -1 or something which does 'infinite'? (but need disable fade first)
- maxParticles: 20
+ emitRate: 0.5
+ lifeSpan: 12000 //TODO: A -1 or something which does 'infinite'? (but need disable fade first)
+ emitCap: 20
particle: "photos"
system: sys
anchors.centerIn: parent
id: spawnFireworks
particle: "fireworks"
system: sys
- maxParticles: 400
- particlesPerSecond: 400
- particleDuration: 2800
+ emitCap: 400
+ emitRate: 400
+ lifeSpan: 2800
x: parent.width/2
y: parent.height/2 - 64
width: 8
height: 8
emitting: false
- particleSize: 32
- particleEndSize: 8
+ size: 32
+ endSize: 8
speed: AngledDirection{ magnitude: 160; magnitudeVariation: 120; angleVariation: 90; angle: 270 }
acceleration: PointDirection{ y: 160 }
}
}
Emitter {
system: particles
- particlesPerSecond: 20
- particleDuration: 7000
+ emitRate: 20
+ lifeSpan: 7000
emitting: true
speed: PointDirection{ y:80; yVariation: 40; }
acceleration: PointDirection{ y: 4 }
- particleSize: 20
- particleSizeVariation: 10
+ size: 20
+ sizeVariation: 10
width: parent.width
height: 100
}
Emitter{
particle: "stars2"
system: background
- particlesPerSecond: 60
- particleDuration: 4000
+ emitRate: 60
+ lifeSpan: 4000
emitting: true
- particleSize: 10
- particleSizeVariation: 10
+ size: 10
+ sizeVariation: 10
anchors.fill: parent
}
ParticleSystem{ id: background }
particles: ["stars2"]
system: background
anchors.fill: parent
- image: "content/star.png"
+ source: "content/star.png"
color: "white"
colorVariation: 0.1
}
particles: ["stars"]
anchors.fill: parent
system: foreground
- image: "content/star.png"
+ source: "content/star.png"
color: "white"
colorVariation: 0.1
}
particles: ["shot"]
anchors.fill: parent
system: foreground
- image: "content/star.png"
+ source: "content/star.png"
color: "orange"
colorVariation: 0.3
particles: ["engine"]
anchors.fill: parent
system: foreground
- image: "content/particle4.png"
+ source: "content/particle4.png"
color: "orange"
SequentialAnimation on color {
Emitter{
particle: "powerups"
system: foreground
- particlesPerSecond: 1
- particleDuration: 6000
+ emitRate: 1
+ lifeSpan: 6000
emitting: !gameOver
- particleSize: 60
- particleSizeVariation: 10
+ size: 60
+ sizeVariation: 10
anchors.fill: parent
}
Emitter{
particle: "stars"
system: foreground
- particlesPerSecond: 40
- particleDuration: 4000
+ emitRate: 40
+ lifeSpan: 4000
emitting: !gameOver
- particleSize: 30
- particleSizeVariation: 10
+ size: 30
+ sizeVariation: 10
anchors.fill: parent
}
SpriteImage{
Emitter{
system: foreground
particle: "engine"
- particlesPerSecond: 100
- particleDuration: 1000
+ emitRate: 100
+ lifeSpan: 1000
emitting: !gameOver
- particleSize: 10
- particleEndSize: 4
- particleSizeVariation: 4
+ size: 10
+ endSize: 4
+ sizeVariation: 4
speed: PointDirection{
x: -128 * Math.cos(rocket.rotation * (Math.PI / 180))
y: -128 * Math.sin(rocket.rotation * (Math.PI / 180))
Emitter{
system: foreground
particle: "shot"
- particlesPerSecond: 16
- particleDuration: 1600
+ emitRate: 16
+ lifeSpan: 1600
emitting: !gameOver && shoot
- particleSize: 40
+ size: 40
speed: PointDirection{
x: 256 * Math.cos(rocket.rotation * (Math.PI / 180))
y: 256 * Math.sin(rocket.rotation * (Math.PI / 180))
}
ImageParticle{
system: sys
- image: "content/particle.png"
+ source: "content/particle.png"
color: "white"
colorVariation: 1.0
alpha: 0.1
id: emitMore
system: sys
emitting: true
- particlesPerSecond: 128
- particleDuration: 600
- particleSize: 16
- particleEndSize: 8
+ emitRate: 128
+ lifeSpan: 600
+ size: 16
+ endSize: 8
speed: AngledDirection{angleVariation:360; magnitude: 60}
}
}
system: sys
emitting: true
- particlesPerSecond: 64
- particleDuration: 600
- particleSize: 24
- particleEndSize: 8
+ emitRate: 64
+ lifeSpan: 600
+ size: 24
+ endSize: 8
NumberAnimation on x{
id: xAnim;
to: targetX
anchors.fill: parent
particles: ["E"]
system: particles
- image: "content/particleA.png"
+ source: "content/particleA.png"
colorVariation: 0.2
color: "#00ff400f"
}
system: particles
anchors.fill: parent
particles: ["A", "B"]
- image: "content/particle.png"
+ source: "content/particle.png"
colorVariation: 0
color: "#00111111"
}
anchors.fill: parent
system: particles
particles: ["C", "D"]
- image: "content/particle.png"
+ source: "content/particle.png"
colorVariation: 0.1
color: "#00ff400f"
}
y: parent.height
width: parent.width
- particlesPerSecond: 350
- particleDuration: 3500
+ emitRate: 350
+ lifeSpan: 3500
acceleration: PointDirection{ y: -17; xVariation: 3 }
speed: PointDirection{xVariation: 3}
- particleSize: 24
- particleSizeVariation: 8
- particleEndSize: 4
+ size: 24
+ sizeVariation: 8
+ endSize: 4
}
FollowEmitter{
id: fireSmoke
width: root.width
height: root.height - 68
- particlesPerParticlePerSecond: 1
- particleDuration: 2000
+ emitRatePerParticle: 1
+ lifeSpan: 2000
speed: PointDirection{y:-17*6; yVariation: -17; xVariation: 3}
acceleration: PointDirection{xVariation: 3}
- particleSize: 36
- particleSizeVariation: 8
- particleEndSize: 16
+ size: 36
+ sizeVariation: 8
+ endSize: 16
}
FollowEmitter{
id: fireballFlame
particle: "D"
follow: "E"
- particlesPerParticlePerSecond: 120
- particleDuration: 180
- emissionWidth: 8
- emissionHeight: 8
+ emitRatePerParticle: 120
+ lifeSpan: 180
+ emitWidth: 8
+ emitHeight: 8
- particleSize: 16
- particleSizeVariation: 4
- particleEndSize: 4
+ size: 16
+ sizeVariation: 4
+ endSize: 4
}
FollowEmitter{
particle: "A"
follow: "E"
- particlesPerParticlePerSecond: 128
- particleDuration: 2400
- emissionWidth: 16
- emissionHeight: 16
+ emitRatePerParticle: 128
+ lifeSpan: 2400
+ emitWidth: 16
+ emitHeight: 16
speed: PointDirection{yVariation: 16; xVariation: 16}
acceleration: PointDirection{y: -16}
- particleSize: 24
- particleSizeVariation: 8
- particleEndSize: 8
+ size: 24
+ sizeVariation: 8
+ endSize: 8
}
Emitter{
id: balls
y: parent.height
width: parent.width
- particlesPerSecond: 2
- particleDuration: 7000
+ emitRate: 2
+ lifeSpan: 7000
speed: PointDirection{y:-17*4*2; xVariation: 6*6}
acceleration: PointDirection{y: 17*2; xVariation: 6*6}
- particleSize: 12
- particleSizeVariation: 4
+ size: 12
+ sizeVariation: 4
}
}
system: sys
y:root.height + 20
width: root.width
- particlesPerSecond: 200
- particleDuration: 4000
+ emitRate: 200
+ lifeSpan: 4000
speed: PointDirection{ y: -120; }
}
ImageParticle{
system: sys
visible: !cloneMode
- image: "content/particle2.png"
+ source: "content/particle2.png"
}
ImageParticle{
system: sys
visible: cloneMode
z: 0
- image: "content/particle3.png"
+ source: "content/particle3.png"
}
ImageParticle{
system: sys
height: 240
width: root.width
z: 1
- image: "content/particle.png"
+ source: "content/particle.png"
}
}
anchors.fill: parent
system: particles
z: 10
- image: "content/star.png"
+ source: "content/star.png"
color: "white"
colorVariation: 0.0
}
anchors.fill: parent
system: particles;
emitting: anim.running
- particlesPerSecond: 600
- particleDuration: 600
- particleSize: 16
- particleEndSize: 8
+ emitRate: 600
+ lifeSpan: 600
+ size: 16
+ endSize: 8
}
}
}
ImageParticle{
system: sys
id: cp
- image: "content/particle.png"
+ source: "content/particle.png"
colorVariation: 0.4
color: "#000000FF"
}
emitting: ma.pressed
x: ma.mouseX
y: ma.mouseY
- particlesPerSecond: 16000
- particleDuration: 1000
- maxParticles: 4000
+ emitRate: 16000
+ lifeSpan: 1000
+ emitCap: 4000
acceleration: AngledDirection{angleVariation: 360; magnitude: 360; }
- particleSize: 8
- particleEndSize: 16
- particleSizeVariation: 4
+ size: 8
+ endSize: 16
+ sizeVariation: 4
}
MouseArea{
anchors.fill: parent
particles: ["center","edge"]
anchors.fill: parent
system: particles
- image: "content/particle.png"
+ source: "content/particle.png"
colorVariation: 0.1
color: "#009999FF"
}
anchors.fill: parent
particle: "center"
system: particles
- particlesPerSecond: 200
- particleDuration: 2000
+ emitRate: 200
+ lifeSpan: 2000
emitting: true
- particleSize: 20
- particleSizeVariation: 2
- particleEndSize: 0
+ size: 20
+ sizeVariation: 2
+ endSize: 0
shape: EllipseShape{fill: false}
speed: TargetedDirection{
targetX: root.width/2
anchors.fill: parent
particle: "edge"
system: particles
- particlesPerSecond: 4000
- particleDuration: 2000
+ emitRate: 4000
+ lifeSpan: 2000
emitting: true
- particleSize: 20
- particleSizeVariation: 2
- particleEndSize: 0
+ size: 20
+ sizeVariation: 2
+ endSize: 0
shape: EllipseShape{fill: false}
speed: TargetedDirection{
targetX: root.width/2
colorVariation: 0.5
alpha: 0
- image: "content/particle.png"
+ source: "content/particle.png"
colorTable: "content/colortable.png"
sizeTable: "content/colortable.png"
}
Emitter{
system: particles
- particlesPerSecond: 500
- particleDuration: 2000
+ emitRate: 500
+ lifeSpan: 2000
y: root.height / 2 + Math.sin(t * 2) * root.height * 0.3
x: root.width / 2 + Math.cos(t) * root.width * 0.3
speed: PointDirection{ xVariation: 5; yVariation: 5;}
acceleration: PointDirection{ xVariation: 5; yVariation: 5;}
- particleSize: 16
- //particleEndSize: 8
- //particleSizeVariation: 8
+ size: 16
+ //endSize: 8
+ //sizeVariation: 8
}
}
ImageParticle{
anchors.fill: parent
system: particles
- image: "content/star.png"
+ source: "content/star.png"
sizeTable: "content/sparkleSize.png"
alpha: 0
colorVariation: 0.6
Emitter{
anchors.fill: parent
system: particles
- particlesPerSecond: 2000
- particleDuration: 2000
+ emitRate: 2000
+ lifeSpan: 2000
emitting: true
- particleSize: 30
- particleSizeVariation: 10
+ size: 30
+ sizeVariation: 10
}
}
ImageParticle{
system: sys
id: cp
- image: "content/particle.png"
+ source: "content/particle.png"
color: "#00FFFFFF"
colorVariation: 0.4
}
id: bursty
system: sys
emitting: false
- particlesPerSecond: 2000
- particleDuration: 500
+ emitRate: 2000
+ lifeSpan: 500
acceleration: AngledDirection{ angle: 90; angleVariation: 360; magnitude: 640; }
- particleSize: 8
- particleEndSize: 16
- particleSizeVariation: 4
+ size: 8
+ endSize: 16
+ sizeVariation: 4
}
Emitter{
system: sys
emitting: ma.pressed
x: ma.mouseX
y: ma.mouseY
- particlesPerSecond: 400
- particleDuration: 2000
+ emitRate: 400
+ lifeSpan: 2000
acceleration: AngledDirection{ angle: 90; angleVariation: 22; magnitude: 32; }
- particleSize: 8
- particleEndSize: 16
- particleSizeVariation: 8
+ size: 8
+ endSize: 16
+ sizeVariation: 8
}
MouseArea{
id: ma
ImageParticle{
particles: ["smoke"]
system: ps
- image: "content/particle.png"
+ source: "content/particle.png"
color: "#11111111"
colorVariation: 0
}
ImageParticle{
particles: ["flame"]
system: ps
- image: "content/particle.png"
+ source: "content/particle.png"
color: "#11ff400f"
colorVariation: 0.1
}
system: ps
particle: "flame"
- particlesPerSecond: 120
- particleDuration: 1200
- particleSize: 20
- particleEndSize: 10
- particleSizeVariation: 10
+ emitRate: 120
+ lifeSpan: 1200
+ size: 20
+ endSize: 10
+ sizeVariation: 10
acceleration: PointDirection{ y: -40 }
speed: AngledDirection{ angle: 270; magnitude: 20; angleVariation: 22; magnitudeVariation: 5 }
}
particle: "smoke"
follow: "flame"
- particlesPerParticlePerSecond: 4
- particleDuration: 2400
- particleDurationVariation: 400
- particleSize: 16
- particleEndSize: 8
- particleSizeVariation: 8
+ emitRatePerParticle: 4
+ lifeSpan: 2400
+ lifeSpanVariation: 400
+ size: 16
+ endSize: 8
+ sizeVariation: 8
acceleration: PointDirection{ y: -40 }
speed: AngledDirection{ angle: 270; magnitude: 40; angleVariation: 22; magnitudeVariation: 5 }
}
particle: "smoke"
follow: "flame"
- particlesPerParticlePerSecond: 1
- particleDuration: 2400
- particleSize: 36
- particleEndSize: 24
- particleSizeVariation: 8
+ emitRatePerParticle: 1
+ lifeSpan: 2400
+ size: 36
+ endSize: 24
+ sizeVariation: 8
acceleration: PointDirection{ y: -40 }
speed: AngledDirection{ angle: 270; magnitude: 40; angleVariation: 22; magnitudeVariation: 5 }
}
ParticleSystem{ id: sys1 }
ImageParticle{
system: sys1
- image: "content/particle.png"
+ source: "content/particle.png"
color: "cyan"
alpha: 0
SequentialAnimation on color {
id: trailsNormal
system: sys1
- particlesPerSecond: 500
- particleDuration: 2000
+ emitRate: 500
+ lifeSpan: 2000
y: mouseArea.pressed ? mouseArea.mouseY : circle.cy
acceleration: PointDirection{xVariation: 10; yVariation: 10;}
speedFromMovement: 8
- particleSize: 8
- particleSizeVariation: 4
+ size: 8
+ sizeVariation: 4
}
ParticleSystem { id: sys2 }
ImageParticle{
}
}
colorVariation: 0.5
- image: "content/star.png"
+ source: "content/star.png"
}
Emitter{
id: trailsStars
system: sys2
- particlesPerSecond: 100
- particleDuration: 2200
+ emitRate: 100
+ lifeSpan: 2200
y: mouseArea.pressed ? mouseArea.mouseY : circle.cy
acceleration: PointDirection{xVariation: 10; yVariation: 10;}
speedFromMovement: 8
- particleSize: 22
- particleSizeVariation: 4
+ size: 22
+ sizeVariation: 4
}
ParticleSystem { id: sys3; }
ImageParticle{
- image: "content/particle.png"
+ source: "content/particle.png"
system: sys3
color: "orange"
alpha: 0
id: trailsNormal2
system: sys3
- particlesPerSecond: 300
- particleDuration: 2000
+ emitRate: 300
+ lifeSpan: 2000
y: mouseArea.pressed ? mouseArea.mouseY : circle2.cy
x: mouseArea.pressed ? mouseArea.mouseX : circle2.cx
speed: PointDirection{xVariation: 4; yVariation: 4;}
acceleration: PointDirection{xVariation: 10; yVariation: 10;}
- particleSize: 12
- particleSizeVariation: 4
+ size: 12
+ sizeVariation: 4
}
ParticleSystem { id: sys4; }
ImageParticle{
system: sys4
- image: "content/star.png"
+ source: "content/star.png"
color: "green"
alpha: 0
SequentialAnimation on color {
id: trailsStars2
system: sys4
- particlesPerSecond: 50
- particleDuration: 2200
+ emitRate: 50
+ lifeSpan: 2200
y: mouseArea.pressed ? mouseArea.mouseY : circle2.cy
speed: PointDirection{xVariation: 2; yVariation: 2;}
acceleration: PointDirection{xVariation: 10; yVariation: 10;}
- particleSize: 22
- particleSizeVariation: 4
+ size: 22
+ sizeVariation: 4
}
PaletteItem {
anchors.verticalCenter: parent.verticalCenter
componentFile: "Sun.qml"
- image: "../images/sun.png"
+ source: "../images/sun.png"
}
PaletteItem {
anchors.verticalCenter: parent.verticalCenter
componentFile: "GenericSceneItem.qml"
- image: "../images/moon.png"
+ source: "../images/moon.png"
}
PaletteItem {
anchors.verticalCenter: parent.verticalCenter
componentFile: "PerspectiveItem.qml"
- image: "../images/tree_s.png"
+ source: "../images/tree_s.png"
}
PaletteItem {
anchors.verticalCenter: parent.verticalCenter
componentFile: "PerspectiveItem.qml"
- image: "../images/rabbit_brown.png"
+ source: "../images/rabbit_brown.png"
}
PaletteItem {
anchors.verticalCenter: parent.verticalCenter
componentFile: "PerspectiveItem.qml"
- image: "../images/rabbit_bw.png"
+ source: "../images/rabbit_bw.png"
}
}
}
id: sun
property bool created: false
- property string image: "../images/sun.png"
+ property string source: "../images/sun.png"
source: image
Flipable {
id: container
- property alias image: frontImage.source
+ property alias source: frontImage.source
property bool flipped: true
property int xAxis: 0
property int yAxis: 0
Row {
anchors.centerIn: parent; spacing: 30
- Card { image: "content/9_club.png"; angle: 180; yAxis: 1 }
- Card { image: "content/5_heart.png"; angle: 540; xAxis: 1 }
+ Card { source: "content/9_club.png"; angle: 180; yAxis: 1 }
+ Card { source: "content/5_heart.png"; angle: 540; xAxis: 1 }
}
}
Q_OBJECT
Q_PROPERTY(QString follow READ follow WRITE setFollow NOTIFY followChanged)
//### Remove, and just document that particles per second is per particle? But has count issues
- Q_PROPERTY(int particlesPerParticlePerSecond READ particlesPerParticlePerSecond WRITE setParticlesPerParticlePerSecond NOTIFY particlesPerParticlePerSecondChanged)
+ Q_PROPERTY(int emitRatePerParticle READ particlesPerParticlePerSecond WRITE setParticlesPerParticlePerSecond NOTIFY particlesPerParticlePerSecondChanged)
//TODO: Document that FollowEmitter's box is where it follows. It emits in a rect centered on the followed particle
//TODO: A set of properties that can involve the particle size of the followed
- Q_PROPERTY(QSGParticleExtruder* emissionShape READ emissonShape WRITE setEmissionShape NOTIFY emissionShapeChanged)
- Q_PROPERTY(qreal emissionHeight READ emitterYVariation WRITE setEmitterYVariation NOTIFY emitterYVariationChanged)
- Q_PROPERTY(qreal emissionWidth READ emitterXVariation WRITE setEmitterXVariation NOTIFY emitterXVariationChanged)
+ Q_PROPERTY(QSGParticleExtruder* emitShape READ emissonShape WRITE setEmissionShape NOTIFY emissionShapeChanged)
+ Q_PROPERTY(qreal emitHeight READ emitterYVariation WRITE setEmitterYVariation NOTIFY emitterYVariationChanged)
+ Q_PROPERTY(qreal emitWidth READ emitterXVariation WRITE setEmitterXVariation NOTIFY emitterXVariationChanged)
public:
explicit QSGFollowEmitter(QSGItem *parent = 0);
class QSGImageParticle : public QSGParticlePainter
{
Q_OBJECT
- Q_PROPERTY(QUrl image READ image WRITE setImage NOTIFY imageChanged)
+ Q_PROPERTY(QUrl source READ image WRITE setImage NOTIFY imageChanged)
Q_PROPERTY(QUrl colorTable READ colortable WRITE setColortable NOTIFY colortableChanged)
Q_PROPERTY(QUrl sizeTable READ sizetable WRITE setSizetable NOTIFY sizetableChanged)
Q_PROPERTY(QUrl opacityTable READ opacitytable WRITE setOpacitytable NOTIFY opacitytableChanged)
Q_PROPERTY(QSGParticleExtruder* shape READ extruder WRITE setExtruder NOTIFY extruderChanged)
Q_PROPERTY(bool emitting READ emitting WRITE setEmitting NOTIFY emittingChanged)
- Q_PROPERTY(qreal particlesPerSecond READ particlesPerSecond WRITE setParticlesPerSecond NOTIFY particlesPerSecondChanged)
- Q_PROPERTY(int particleDuration READ particleDuration WRITE setParticleDuration NOTIFY particleDurationChanged)
- Q_PROPERTY(int particleDurationVariation READ particleDurationVariation WRITE setParticleDurationVariation NOTIFY particleDurationVariationChanged)
- Q_PROPERTY(int maxParticles READ maxParticleCount WRITE setMaxParticleCount NOTIFY maxParticleCountChanged)
-
- Q_PROPERTY(qreal particleSize READ particleSize WRITE setParticleSize NOTIFY particleSizeChanged)
- Q_PROPERTY(qreal particleEndSize READ particleEndSize WRITE setParticleEndSize NOTIFY particleEndSizeChanged)
- Q_PROPERTY(qreal particleSizeVariation READ particleSizeVariation WRITE setParticleSizeVariation NOTIFY particleSizeVariationChanged)
+ Q_PROPERTY(qreal emitRate READ particlesPerSecond WRITE setParticlesPerSecond NOTIFY particlesPerSecondChanged)
+ Q_PROPERTY(int lifeSpan READ particleDuration WRITE setParticleDuration NOTIFY particleDurationChanged)
+ Q_PROPERTY(int lifeSpanVariation READ particleDurationVariation WRITE setParticleDurationVariation NOTIFY particleDurationVariationChanged)
+ Q_PROPERTY(int emitCap READ maxParticleCount WRITE setMaxParticleCount NOTIFY maxParticleCountChanged)
+
+ Q_PROPERTY(qreal size READ particleSize WRITE setParticleSize NOTIFY particleSizeChanged)
+ Q_PROPERTY(qreal endSize READ particleEndSize WRITE setParticleEndSize NOTIFY particleEndSizeChanged)
+ Q_PROPERTY(qreal sizeVariation READ particleSizeVariation WRITE setParticleSizeVariation NOTIFY particleSizeVariationChanged)
Q_PROPERTY(QSGStochasticDirection *speed READ speed WRITE setSpeed NOTIFY speedChanged)
Q_PROPERTY(QSGStochasticDirection *acceleration READ acceleration WRITE setAcceleration NOTIFY accelerationChanged)