end of level particle effect
This commit is contained in:
parent
6bd38df453
commit
c97c179199
@ -2,5 +2,6 @@
|
||||
"lefteffect": "effects/ball-hit-spark-l.json",
|
||||
"righteffect": "effects/ball-hit-spark-r.json",
|
||||
"topeffect": "effects/ball-hit-spark-t.json",
|
||||
"boteffect": "effects/ball-hit-spark-b.json"
|
||||
"boteffect": "effects/ball-hit-spark-b.json",
|
||||
"lvlFinish": "effects/magic-stars-firework.json"
|
||||
}
|
@ -6,8 +6,7 @@
|
||||
{
|
||||
"name": "Spark",
|
||||
|
||||
"maxParticles": 11,
|
||||
"preloading": 11,
|
||||
"preloading": 5,
|
||||
|
||||
"texturePath": "textures/spark-white.png",
|
||||
"textureSize": [ 10, 10 ],
|
||||
@ -28,7 +27,7 @@
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"t": 0.01,
|
||||
"t": 0.05,
|
||||
"value": 20
|
||||
}
|
||||
]
|
||||
@ -41,8 +40,8 @@
|
||||
|
||||
"lifeTime":
|
||||
{
|
||||
"min": 0.02,
|
||||
"max": 0.15
|
||||
"min": 0.01,
|
||||
"max": 0.1
|
||||
},
|
||||
|
||||
"coords_system": "PARTICLE_BIRTH",
|
||||
@ -56,12 +55,12 @@
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 10, 0, 0 ]
|
||||
"value": [ 0, -3, 0 ]
|
||||
},
|
||||
{
|
||||
"t": 0.15,
|
||||
"min": [ 60, 0, 0 ],
|
||||
"max": [ 100, 0, 0 ]
|
||||
"t": 0.1,
|
||||
"min": [ 10, 0, 0 ],
|
||||
"max": [ 70, 0, 0 ]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -73,13 +72,103 @@
|
||||
|
||||
"scale":
|
||||
{
|
||||
"value": 0.5
|
||||
"value": 0.4
|
||||
},
|
||||
|
||||
"color":
|
||||
{
|
||||
"value": [ 1, 1, 0, 1 ]
|
||||
},
|
||||
"emitters":
|
||||
[
|
||||
{
|
||||
"name": "Spark",
|
||||
|
||||
"maxParticles": 6,
|
||||
"preloading": 6,
|
||||
|
||||
"texturePath": "textures/spark-white.png",
|
||||
"textureSize": [ 10, 10 ],
|
||||
|
||||
"gravity": [0, -100, 0],
|
||||
|
||||
"spawnRange_system": "PARTICLE_BIRTH",
|
||||
|
||||
"spawnTotal":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"matchDeathTime": "true",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"t": 0.08,
|
||||
"value": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
"spawnRange":
|
||||
{
|
||||
"value": [ 0, 180, 0, 160 ]
|
||||
},
|
||||
|
||||
"lifeTime":
|
||||
{
|
||||
"min": 0.01,
|
||||
"max": 0.1
|
||||
},
|
||||
|
||||
"coords_system": "PARTICLE_BIRTH",
|
||||
"coords_axis_system": "PARTICLE_BIRTH",
|
||||
"rotation_system": "PARTICLE_BIRTH",
|
||||
|
||||
"coords":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 0, 0, 0 ]
|
||||
},
|
||||
{
|
||||
"t": 0.1,
|
||||
"min": [ 0, 0, 0 ],
|
||||
"max": [ 80, 0, 0 ]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"rotation":
|
||||
{
|
||||
"value": [ 0, 0, 0 ]
|
||||
},
|
||||
|
||||
"scale":
|
||||
{
|
||||
"value": 0.2
|
||||
},
|
||||
|
||||
"color":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 1, 1, 0, 1 ]
|
||||
},
|
||||
{
|
||||
"t": 0.100,
|
||||
"value": [ 1, 0.5, 0, 1 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -6,8 +6,7 @@
|
||||
{
|
||||
"name": "Spark",
|
||||
|
||||
"maxParticles": 11,
|
||||
"preloading": 11,
|
||||
"preloading": 5,
|
||||
|
||||
"texturePath": "textures/spark-white.png",
|
||||
"textureSize": [ 10, 10 ],
|
||||
@ -28,7 +27,7 @@
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"t": 0.01,
|
||||
"t": 0.05,
|
||||
"value": 20
|
||||
}
|
||||
]
|
||||
@ -41,8 +40,8 @@
|
||||
|
||||
"lifeTime":
|
||||
{
|
||||
"min": 0.02,
|
||||
"max": 0.15
|
||||
"min": 0.01,
|
||||
"max": 0.1
|
||||
},
|
||||
|
||||
"coords_system": "PARTICLE_BIRTH",
|
||||
@ -56,12 +55,12 @@
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 10, 0, 0 ]
|
||||
"value": [ 3, 0, 0 ]
|
||||
},
|
||||
{
|
||||
"t": 0.15,
|
||||
"min": [ 60, 0, 0 ],
|
||||
"max": [ 100, 0, 0 ]
|
||||
"t": 0.1,
|
||||
"min": [ 10, 0, 0 ],
|
||||
"max": [ 70, 0, 0 ]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -73,13 +72,103 @@
|
||||
|
||||
"scale":
|
||||
{
|
||||
"value": 0.5
|
||||
"value": 0.4
|
||||
},
|
||||
|
||||
"color":
|
||||
{
|
||||
"value": [ 1, 1, 0, 1 ]
|
||||
},
|
||||
"emitters":
|
||||
[
|
||||
{
|
||||
"name": "Spark",
|
||||
|
||||
"maxParticles": 6,
|
||||
"preloading": 6,
|
||||
|
||||
"texturePath": "textures/spark-white.png",
|
||||
"textureSize": [ 10, 10 ],
|
||||
|
||||
"gravity": [0, -100, 0],
|
||||
|
||||
"spawnRange_system": "PARTICLE_BIRTH",
|
||||
|
||||
"spawnTotal":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"matchDeathTime": "true",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"t": 0.08,
|
||||
"value": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
"spawnRange":
|
||||
{
|
||||
"value": [ 0, 180, 0, 160 ]
|
||||
},
|
||||
|
||||
"lifeTime":
|
||||
{
|
||||
"min": 0.01,
|
||||
"max": 0.1
|
||||
},
|
||||
|
||||
"coords_system": "PARTICLE_BIRTH",
|
||||
"coords_axis_system": "PARTICLE_BIRTH",
|
||||
"rotation_system": "PARTICLE_BIRTH",
|
||||
|
||||
"coords":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 0, 0, 0 ]
|
||||
},
|
||||
{
|
||||
"t": 0.1,
|
||||
"min": [ 0, 0, 0 ],
|
||||
"max": [ 80, 0, 0 ]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"rotation":
|
||||
{
|
||||
"value": [ 0, 0, 0 ]
|
||||
},
|
||||
|
||||
"scale":
|
||||
{
|
||||
"value": 0.2
|
||||
},
|
||||
|
||||
"color":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 1, 1, 0, 1 ]
|
||||
},
|
||||
{
|
||||
"t": 0.100,
|
||||
"value": [ 1, 0.5, 0, 1 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -6,8 +6,7 @@
|
||||
{
|
||||
"name": "Spark",
|
||||
|
||||
"maxParticles": 11,
|
||||
"preloading": 11,
|
||||
"preloading": 5,
|
||||
|
||||
"texturePath": "textures/spark-white.png",
|
||||
"textureSize": [ 10, 10 ],
|
||||
@ -28,7 +27,7 @@
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"t": 0.01,
|
||||
"t": 0.05,
|
||||
"value": 20
|
||||
}
|
||||
]
|
||||
@ -41,8 +40,8 @@
|
||||
|
||||
"lifeTime":
|
||||
{
|
||||
"min": 0.02,
|
||||
"max": 0.15
|
||||
"min": 0.01,
|
||||
"max": 0.1
|
||||
},
|
||||
|
||||
"coords_system": "PARTICLE_BIRTH",
|
||||
@ -56,12 +55,12 @@
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 10, 0, 0 ]
|
||||
"value": [ -3, 0, 0 ]
|
||||
},
|
||||
{
|
||||
"t": 0.15,
|
||||
"min": [ 60, 0, 0 ],
|
||||
"max": [ 100, 0, 0 ]
|
||||
"t": 0.1,
|
||||
"min": [ 10, 0, 0 ],
|
||||
"max": [ 70, 0, 0 ]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -73,13 +72,103 @@
|
||||
|
||||
"scale":
|
||||
{
|
||||
"value": 0.5
|
||||
"value": 0.4
|
||||
},
|
||||
|
||||
"color":
|
||||
{
|
||||
"value": [ 1, 1, 0, 1 ]
|
||||
},
|
||||
"emitters":
|
||||
[
|
||||
{
|
||||
"name": "Spark",
|
||||
|
||||
"maxParticles": 6,
|
||||
"preloading": 6,
|
||||
|
||||
"texturePath": "textures/spark-white.png",
|
||||
"textureSize": [ 10, 10 ],
|
||||
|
||||
"gravity": [0, -100, 0],
|
||||
|
||||
"spawnRange_system": "PARTICLE_BIRTH",
|
||||
|
||||
"spawnTotal":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"matchDeathTime": "true",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"t": 0.08,
|
||||
"value": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
"spawnRange":
|
||||
{
|
||||
"value": [ 0, 180, 0, 160 ]
|
||||
},
|
||||
|
||||
"lifeTime":
|
||||
{
|
||||
"min": 0.01,
|
||||
"max": 0.1
|
||||
},
|
||||
|
||||
"coords_system": "PARTICLE_BIRTH",
|
||||
"coords_axis_system": "PARTICLE_BIRTH",
|
||||
"rotation_system": "PARTICLE_BIRTH",
|
||||
|
||||
"coords":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 0, 0, 0 ]
|
||||
},
|
||||
{
|
||||
"t": 0.1,
|
||||
"min": [ 0, 0, 0 ],
|
||||
"max": [ 80, 0, 0 ]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"rotation":
|
||||
{
|
||||
"value": [ 0, 0, 0 ]
|
||||
},
|
||||
|
||||
"scale":
|
||||
{
|
||||
"value": 0.2
|
||||
},
|
||||
|
||||
"color":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 1, 1, 0, 1 ]
|
||||
},
|
||||
{
|
||||
"t": 0.100,
|
||||
"value": [ 1, 0.5, 0, 1 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -6,8 +6,7 @@
|
||||
{
|
||||
"name": "Spark",
|
||||
|
||||
"maxParticles": 11,
|
||||
"preloading": 11,
|
||||
"preloading": 5,
|
||||
|
||||
"texturePath": "textures/spark-white.png",
|
||||
"textureSize": [ 10, 10 ],
|
||||
@ -28,7 +27,7 @@
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"t": 0.01,
|
||||
"t": 0.05,
|
||||
"value": 20
|
||||
}
|
||||
]
|
||||
@ -41,8 +40,8 @@
|
||||
|
||||
"lifeTime":
|
||||
{
|
||||
"min": 0.02,
|
||||
"max": 0.15
|
||||
"min": 0.01,
|
||||
"max": 0.1
|
||||
},
|
||||
|
||||
"coords_system": "PARTICLE_BIRTH",
|
||||
@ -56,12 +55,12 @@
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 10, 0, 0 ]
|
||||
"value": [ 0, 3, 0 ]
|
||||
},
|
||||
{
|
||||
"t": 0.15,
|
||||
"min": [ 60, 0, 0 ],
|
||||
"max": [ 100, 0, 0 ]
|
||||
"t": 0.1,
|
||||
"min": [ 10, 0, 0 ],
|
||||
"max": [ 70, 0, 0 ]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -73,13 +72,103 @@
|
||||
|
||||
"scale":
|
||||
{
|
||||
"value": 0.5
|
||||
"value": 0.4
|
||||
},
|
||||
|
||||
"color":
|
||||
{
|
||||
"value": [ 1, 1, 0, 1 ]
|
||||
},
|
||||
"emitters":
|
||||
[
|
||||
{
|
||||
"name": "Spark",
|
||||
|
||||
"maxParticles": 6,
|
||||
"preloading": 6,
|
||||
|
||||
"texturePath": "textures/spark-white.png",
|
||||
"textureSize": [ 10, 10 ],
|
||||
|
||||
"gravity": [0, -100, 0],
|
||||
|
||||
"spawnRange_system": "PARTICLE_BIRTH",
|
||||
|
||||
"spawnTotal":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"matchDeathTime": "true",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"t": 0.08,
|
||||
"value": 6
|
||||
}
|
||||
]
|
||||
},
|
||||
"spawnRange":
|
||||
{
|
||||
"value": [ 0, 180, 0, 160 ]
|
||||
},
|
||||
|
||||
"lifeTime":
|
||||
{
|
||||
"min": 0.01,
|
||||
"max": 0.1
|
||||
},
|
||||
|
||||
"coords_system": "PARTICLE_BIRTH",
|
||||
"coords_axis_system": "PARTICLE_BIRTH",
|
||||
"rotation_system": "PARTICLE_BIRTH",
|
||||
|
||||
"coords":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 0, 0, 0 ]
|
||||
},
|
||||
{
|
||||
"t": 0.1,
|
||||
"min": [ 0, 0, 0 ],
|
||||
"max": [ 80, 0, 0 ]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"rotation":
|
||||
{
|
||||
"value": [ 0, 0, 0 ]
|
||||
},
|
||||
|
||||
"scale":
|
||||
{
|
||||
"value": 0.2
|
||||
},
|
||||
|
||||
"color":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 1, 1, 0, 1 ]
|
||||
},
|
||||
{
|
||||
"t": 0.100,
|
||||
"value": [ 1, 0.5, 0, 1 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
275
assets/effects/magic-stars-firework.json
Executable file
275
assets/effects/magic-stars-firework.json
Executable file
@ -0,0 +1,275 @@
|
||||
{
|
||||
"emitters":
|
||||
[
|
||||
{
|
||||
"preloading": 4,
|
||||
|
||||
"texturePath": "textures/magic-star.png",
|
||||
"textureSize": [ 22.625, 12.5 ],
|
||||
|
||||
"hasInertion": "false",
|
||||
"gravity": [0, 0, 0],
|
||||
|
||||
"spawnRange_system": "PARTICLE_EFFECT",
|
||||
|
||||
"spawnTotal":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"timelineType": "LIMITED",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0,
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"t": 1,
|
||||
"value": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"spawnRange":
|
||||
{
|
||||
"value": [ 0, 90, 0, 60 ]
|
||||
},
|
||||
|
||||
"lifeTime":
|
||||
{
|
||||
"min": 0.5,
|
||||
"max": 2
|
||||
},
|
||||
|
||||
"coords_system": "PARTICLE_BIRTH",
|
||||
"coords_axis_system": "PARTICLE_BIRTH",
|
||||
"rotation_system": "PARTICLE_BIRTH",
|
||||
|
||||
"coords":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 0, 0, 0 ]
|
||||
},
|
||||
{
|
||||
"t": 0.500,
|
||||
"min": [ 60, 0, 0 ],
|
||||
"max": [ 160, 0, 0 ]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"rotation":
|
||||
{
|
||||
"value": [ 0, 0, 0 ]
|
||||
},
|
||||
|
||||
"scale":
|
||||
{
|
||||
"interpolation": "DISCRETE",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"value": 0.8
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"color":
|
||||
{
|
||||
"value": [ 1, 1, 1, 1 ]
|
||||
},
|
||||
|
||||
"emitters":
|
||||
[
|
||||
{
|
||||
"name": "Spark",
|
||||
|
||||
"maxParticles": 110,
|
||||
"preloading": 110,
|
||||
|
||||
"texturePath": "textures/spark-white.png",
|
||||
"textureSize": [ 10, 10 ],
|
||||
|
||||
"gravity": [0, -200, 0],
|
||||
|
||||
"spawnRange_system": "PARTICLE_BIRTH",
|
||||
|
||||
"spawnTotal":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"matchDeathTime": "true",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"t": 1,
|
||||
"value": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"spawnRange":
|
||||
{
|
||||
"value": [ 0, 0, 0, 360 ]
|
||||
},
|
||||
|
||||
"lifeTime":
|
||||
{
|
||||
"min": 1,
|
||||
"max": 1.98
|
||||
},
|
||||
|
||||
"coords_system": "PARTICLE_BIRTH",
|
||||
"coords_axis_system": "PARTICLE_BIRTH",
|
||||
"rotation_system": "PARTICLE_BIRTH",
|
||||
|
||||
"coords":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 0, 0, 0 ]
|
||||
},
|
||||
{
|
||||
"t": 1.000,
|
||||
"min": [ 0, 0, 0 ],
|
||||
"max": [ 50, 0, 0 ]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"rotation":
|
||||
{
|
||||
"value": [ 0, 0, 0 ]
|
||||
},
|
||||
|
||||
"scale":
|
||||
{
|
||||
"value": 1
|
||||
},
|
||||
|
||||
"color":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 0, 1, 1, 1 ]
|
||||
},
|
||||
{
|
||||
"t": 1.000,
|
||||
"value": [ 0, 0, 1, 1 ]
|
||||
},
|
||||
{
|
||||
"t": 1.200,
|
||||
"value": [ 0, 0, 1, 0 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Spark",
|
||||
|
||||
"maxParticles": 300,
|
||||
"preloading": 300,
|
||||
|
||||
"texturePath": "textures/spark-white.png",
|
||||
"textureSize": [ 10, 10 ],
|
||||
|
||||
"hasInertion": "true",
|
||||
"gravity": [0, -500, 0],
|
||||
|
||||
"spawnRange_system": "PARTICLE_BIRTH",
|
||||
|
||||
"spawnTotal":
|
||||
{
|
||||
"interpolation": "DISCRETE",
|
||||
"matchDeathTime": "true",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"t": 2.000,
|
||||
"value": 300
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"spawnRange":
|
||||
{
|
||||
"value": [ 0, 0, 0, 360 ]
|
||||
},
|
||||
|
||||
"lifeTime":
|
||||
{
|
||||
"min": 1,
|
||||
"max": 2
|
||||
},
|
||||
|
||||
"coords_system": "PARTICLE_BIRTH",
|
||||
"coords_axis_system": "PARTICLE_BIRTH",
|
||||
"rotation_system": "PARTICLE_BIRTH",
|
||||
|
||||
"coords":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 0, 0, 0 ]
|
||||
},
|
||||
{
|
||||
"t": 1.000,
|
||||
"min": [ 25, 0, 0 ],
|
||||
"max": [ 300, 0, 0 ]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"rotation":
|
||||
{
|
||||
"value": [ 0, 0, 0 ]
|
||||
},
|
||||
|
||||
"scale":
|
||||
{
|
||||
"value": 1
|
||||
},
|
||||
|
||||
"color":
|
||||
{
|
||||
"interpolation": "LINEAR_SPLINE",
|
||||
"timeline":
|
||||
[
|
||||
{
|
||||
"t": 0.000,
|
||||
"value": [ 1, 1, 0, 1 ]
|
||||
},
|
||||
{
|
||||
"t": 1.000,
|
||||
"value": [ 1, 0, 0, 1 ]
|
||||
},
|
||||
{
|
||||
"t": 1.200,
|
||||
"value": [ 1, 0, 0, 0 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -20,7 +20,7 @@ const float CONST_TIMER_LOADING = 150.f;
|
||||
|
||||
const float CONST_PAUSE_APPEAR_TIME = 150.f;
|
||||
|
||||
const float CONST_FINISH_FREEZE_TIME = 1000.f;
|
||||
const float CONST_FINISH_FREEZE_TIME = 4000.f; // 1000.f
|
||||
const float CONST_FINISHING_TIME = 250.f;
|
||||
|
||||
const float CONST_BALL_VELOCITY = 200.f;
|
||||
@ -324,9 +324,7 @@ void TBall::ReflectToLeft()
|
||||
{
|
||||
*SE::Console << "TBall::ReflectToLeft";
|
||||
|
||||
Application->lsparkler.setCoords({Pos(0),Pos(1),0});
|
||||
Application->lsparkler.stopSpawn();
|
||||
Application->lsparkler.startSpawn();
|
||||
Application->hitSpark("left",Pos);
|
||||
|
||||
if (Velocity(0) > 0.f)
|
||||
{
|
||||
@ -338,9 +336,7 @@ void TBall::ReflectToRight()
|
||||
{
|
||||
*SE::Console << "TBall::ReflectToRight";
|
||||
|
||||
Application->rsparkler.setCoords({ Pos(0),Pos(1),0 });
|
||||
Application->rsparkler.stopSpawn();
|
||||
Application->rsparkler.startSpawn();
|
||||
Application->hitSpark("right", Pos);
|
||||
|
||||
if (Velocity(0) < 0.f)
|
||||
{
|
||||
@ -352,9 +348,7 @@ void TBall::ReflectToUp()
|
||||
{
|
||||
*SE::Console << "TBall::ReflectToUp";
|
||||
|
||||
Application->tsparkler.setCoords({ Pos(0),Pos(1),0 });
|
||||
Application->tsparkler.stopSpawn();
|
||||
Application->tsparkler.startSpawn();
|
||||
Application->hitSpark("up", Pos);
|
||||
|
||||
if (Velocity(1) < 0.f)
|
||||
{
|
||||
@ -366,9 +360,7 @@ void TBall::ReflectToDown()
|
||||
{
|
||||
*SE::Console << "TBall::ReflectToDown";
|
||||
|
||||
Application->bsparkler.setCoords({ Pos(0),Pos(1),0 });
|
||||
Application->bsparkler.stopSpawn();
|
||||
Application->bsparkler.startSpawn();
|
||||
Application->hitSpark("down", Pos);
|
||||
|
||||
if (Velocity(1) > 0.f)
|
||||
{
|
||||
@ -574,7 +566,7 @@ bool TGameLevel::TapInBackBtnArea(const Vector2f& pos)
|
||||
void TGameLevel::SetFinishFreeze()
|
||||
{
|
||||
*SE::Console << "TGameLevel::SetFinishFreeze";
|
||||
StateTimer = CONST_FINISH_FREEZE_TIME;
|
||||
StateTimer = CONST_FINISH_FREEZE_TIME; // Firework timeline timer
|
||||
|
||||
LevelState = CONST_LEVELSTATE_FINISH_FREEZE;
|
||||
|
||||
@ -858,6 +850,8 @@ void TGameLevel::Draw()
|
||||
iBonus->Draw();
|
||||
}
|
||||
|
||||
Application->EffectsDraw();
|
||||
|
||||
DrawBallInstancingList();
|
||||
|
||||
Renderer->PopShader();
|
||||
@ -1201,6 +1195,8 @@ void TGameLevel::Update(size_t dt)
|
||||
|
||||
if (noMoreBlocks && LevelState != CONST_LEVELSTATE_FINISH_FREEZE)
|
||||
{
|
||||
Application->fireworkEffect(); // Firework start
|
||||
|
||||
Application->OpenNextLevel();
|
||||
Application->MarkSetGameLevelPause();
|
||||
SetFinishFreeze();
|
||||
@ -1695,4 +1691,4 @@ void TGameLevel::TryGoToMenu()
|
||||
{
|
||||
OutScale = 1.f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,8 +17,8 @@ const int CONST_BRICKSTATE_APPEAR = 0;
|
||||
const float CONST_BRICK_DISAPPEAR_TIME = 200.f;
|
||||
const float CONST_BRICK_APPEAR_TIME = 200.f;
|
||||
|
||||
const int CONST_BRICKMATRIX_WIDTH = 12;
|
||||
const int CONST_BRICKMATRIX_HEIGHT = 13;
|
||||
const int CONST_BRICKMATRIX_WIDTH = 12; // 12
|
||||
const int CONST_BRICKMATRIX_HEIGHT = 13; // 13
|
||||
const float CONST_BRICK_WIDTH = 38.65f;
|
||||
const float CONST_BRICK_HEIGHT = 0.5f*CONST_BRICK_WIDTH;
|
||||
const float CONST_BRICK_SHIFT_X = 8.2f;
|
||||
|
@ -338,7 +338,6 @@ void TMyApplication::InnerDraw()
|
||||
|
||||
OnDrawSignal();
|
||||
|
||||
EffectsDraw();
|
||||
|
||||
}
|
||||
|
||||
@ -582,6 +581,11 @@ void TMyApplication::EffectsInit() {
|
||||
boost::property_tree::json_parser::read_json(ST::PathToResources + effectJSON, JSONsource);
|
||||
bsparkler.parse(JSONsource);
|
||||
bsparkler.load();
|
||||
// Level finish
|
||||
effectJSON = JSONconfig.get<std::string>("lvlFinish");
|
||||
boost::property_tree::json_parser::read_json(ST::PathToResources + effectJSON, JSONsource);
|
||||
lvlFirework.parse(JSONsource);
|
||||
lvlFirework.load();
|
||||
|
||||
float width = Renderer->GetScreenWidth();
|
||||
float height = Renderer->GetScreenHeight();
|
||||
@ -590,6 +594,7 @@ void TMyApplication::EffectsInit() {
|
||||
rsparkler.setCoords({ width / 2, height / 2, 0 });
|
||||
tsparkler.setCoords({ width / 2, height / 2, 0 });
|
||||
bsparkler.setCoords({ width / 2, height / 2, 0 });
|
||||
lvlFirework.setCoords({ width / 2, 0, 0 });
|
||||
}
|
||||
|
||||
void TMyApplication::EffectsUpdate(size_t dt) {
|
||||
@ -597,10 +602,41 @@ void TMyApplication::EffectsUpdate(size_t dt) {
|
||||
rsparkler.update(dt / 1000.f);
|
||||
tsparkler.update(dt / 1000.f);
|
||||
bsparkler.update(dt / 1000.f);
|
||||
lvlFirework.update(dt / 1000.f);
|
||||
}
|
||||
void TMyApplication::EffectsDraw() {
|
||||
lsparkler.draw();
|
||||
rsparkler.draw();
|
||||
tsparkler.draw();
|
||||
bsparkler.draw();
|
||||
lvlFirework.draw();
|
||||
}
|
||||
|
||||
void TMyApplication::hitSpark(std::string direct,Vector2f Pos) {
|
||||
if (direct == "left") {
|
||||
lsparkler.setCoords({ Pos(0),Pos(1),0 });
|
||||
lsparkler.stopSpawn();
|
||||
lsparkler.startSpawn();
|
||||
|
||||
}
|
||||
if (direct == "right") {
|
||||
rsparkler.setCoords({ Pos(0),Pos(1),0 });
|
||||
rsparkler.stopSpawn();
|
||||
rsparkler.startSpawn();
|
||||
}
|
||||
if (direct == "up") {
|
||||
tsparkler.setCoords({ Pos(0),Pos(1),0 });
|
||||
tsparkler.stopSpawn();
|
||||
tsparkler.startSpawn();
|
||||
}
|
||||
if (direct == "down") {
|
||||
bsparkler.setCoords({ Pos(0),Pos(1),0 });
|
||||
bsparkler.stopSpawn();
|
||||
bsparkler.startSpawn();
|
||||
}
|
||||
}
|
||||
|
||||
void TMyApplication::fireworkEffect() {
|
||||
lvlFirework.stopSpawn();
|
||||
lvlFirework.startSpawn();
|
||||
}
|
@ -92,6 +92,9 @@ protected:
|
||||
int levelScreenHeight;
|
||||
float levelScreenRatio = 1.6;
|
||||
|
||||
ParticleEffect lsparkler, rsparkler, tsparkler, bsparkler; // Different directed reflection effects
|
||||
ParticleEffect lvlFirework; // Level finished effect
|
||||
|
||||
TGameMenu Menu;
|
||||
TGameLevel GameLevel;
|
||||
TGameCredits GameCredits;
|
||||
@ -124,8 +127,6 @@ protected:
|
||||
public:
|
||||
bool Loaded;
|
||||
|
||||
ParticleEffect lsparkler, rsparkler, tsparkler, bsparkler; // Diffrent directed reflection effects
|
||||
|
||||
TMyApplication() : TApplication(), Loaded(false), Inited(false) { }
|
||||
|
||||
virtual void InnerInit();
|
||||
@ -142,9 +143,15 @@ public:
|
||||
void GoFromCreditsToMenu();
|
||||
void MarkSetGameLevelPause();
|
||||
void MarkReleaseGameLevelPause();
|
||||
|
||||
// Effects -------
|
||||
void EffectsUpdate(size_t dt);
|
||||
void EffectsDraw();
|
||||
|
||||
void fireworkEffect();
|
||||
void hitSpark(std::string direct, Vector2f Pos);
|
||||
// Effects -------
|
||||
|
||||
void OpenNextLevel();
|
||||
|
||||
bool IsLoaded();
|
||||
@ -171,10 +178,4 @@ public:
|
||||
|
||||
extern TMyApplication* Application;
|
||||
|
||||
class TMySalmonRenderer : public TSalmonRenderer
|
||||
{
|
||||
public:
|
||||
void DrawRect(const Vector2f& p1, const Vector2f& p2);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -172,11 +172,6 @@ void TGameMenu::OnTapUp(Vector2f pos)
|
||||
{
|
||||
*SE::Console << "TGameMenu::OnTapUp";
|
||||
HoldToTap = false;
|
||||
|
||||
std::fstream tapLog;
|
||||
tapLog.open("tapLog.txt", std::ios::app);
|
||||
tapLog << "Tapped up:: " << pos(0) << " " << pos(1) << endl;
|
||||
tapLog.close();
|
||||
|
||||
if (SelectedGame != -1)
|
||||
{
|
||||
|
@ -152,6 +152,7 @@
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;TARGET_WIN32;_WIN32_WINNT=0x0501;WIN32_LEAN_AND_MEAN;EIGEN_DONT_ALIGN_STATICALLY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_63_0/;../../../../boost_1_63_0/bin.v2/libs/system/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/date_time/build/msvc-14.0/release/address-model-64/link-static/threading-multi/;../../../../boost_1_63_0/bin.v2/libs/regex/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/thread/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/chrono/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/signals/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510</AdditionalIncludeDirectories>
|
||||
<DisableSpecificWarnings>4503</DisableSpecificWarnings>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
|
@ -101,3 +101,79 @@ Tapped up:: 259 95
|
||||
Tapped up:: 302 131
|
||||
Tapped up:: 215 153
|
||||
Tapped up:: 326 138
|
||||
Tapped up:: 325 206
|
||||
Tapped up:: 358 136
|
||||
Tapped up:: 335 117
|
||||
Tapped up:: 257 129
|
||||
Tapped up:: 367 145
|
||||
Tapped up:: 770 480
|
||||
Tapped up:: 310 159
|
||||
Tapped up:: 294 143
|
||||
Tapped up:: 381 137
|
||||
Tapped up:: 387 178
|
||||
Tapped up:: 283 120
|
||||
Tapped up:: 306 157
|
||||
Tapped up:: 392 296
|
||||
Tapped up:: 350 190
|
||||
Tapped up:: 296 193
|
||||
Tapped up:: 314 121
|
||||
Tapped up:: 303 132
|
||||
Tapped up:: 192 121
|
||||
Tapped up:: 282 142
|
||||
Tapped up:: 357 186
|
||||
Tapped up:: 378 146
|
||||
Tapped up:: 308 99
|
||||
Tapped up:: 278 142
|
||||
Tapped up:: 284 230
|
||||
Tapped up:: 199 111
|
||||
Tapped up:: 250 85
|
||||
Tapped up:: 370 117
|
||||
Tapped up:: 262 140
|
||||
Tapped up:: 266 150
|
||||
Tapped up:: 326 169
|
||||
Tapped up:: 383 163
|
||||
Tapped up:: 278 122
|
||||
Tapped up:: 337 146
|
||||
Tapped up:: 318 157
|
||||
Tapped up:: 290 133
|
||||
Tapped up:: 336 189
|
||||
Tapped up:: 378 117
|
||||
Tapped up:: 288 137
|
||||
Tapped up:: 287 99
|
||||
Tapped up:: 359 149
|
||||
Tapped up:: 303 170
|
||||
Tapped up:: 306 147
|
||||
Tapped up:: 244 150
|
||||
Tapped up:: 338 145
|
||||
Tapped up:: 319 156
|
||||
Tapped up:: 249 152
|
||||
Tapped up:: 284 179
|
||||
Tapped up:: 371 200
|
||||
Tapped up:: 375 153
|
||||
Tapped up:: 226 135
|
||||
Tapped up:: 306 142
|
||||
Tapped up:: 335 127
|
||||
Tapped up:: 372 118
|
||||
Tapped up:: 370 131
|
||||
Tapped up:: 236 136
|
||||
Tapped up:: 361 162
|
||||
Tapped up:: 330 116
|
||||
Tapped up:: 297 176
|
||||
Tapped up:: 355 166
|
||||
Tapped up:: 274 128
|
||||
Tapped up:: 313 148
|
||||
Tapped up:: 290 178
|
||||
Tapped up:: 463 79
|
||||
Tapped up:: 473 102
|
||||
Tapped up:: 680 332
|
||||
Tapped up:: 313 144
|
||||
Tapped up:: 297 93
|
||||
Tapped up:: 356 109
|
||||
Tapped up:: 213 197
|
||||
Tapped up:: 260 148
|
||||
Tapped up:: 310 130
|
||||
Tapped up:: 296 136
|
||||
Tapped up:: 394 181
|
||||
Tapped up:: 340 157
|
||||
Tapped up:: 322 127
|
||||
Tapped up:: 278 110
|
||||
|
Loading…
Reference in New Issue
Block a user