Merge pull request #6930 from samme/major/particle-anims-optional

Make particle animation state optional
This commit is contained in:
Richard Davey 2024-11-13 22:27:47 +00:00 committed by GitHub
commit 37a6dc6f9f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 20 additions and 4 deletions

View file

@ -330,11 +330,19 @@ var Particle = new Class({
* It is responsible for playing, loading, queuing animations for later playback,
* mixing between animations and setting the current animation frame to this Particle.
*
* It is created only if the Particle's Emitter has at least one Animation.
*
* @name Phaser.GameObjects.Particles.Particle#anims
* @type {Phaser.Animations.AnimationState}
* @type {?Phaser.Animations.AnimationState}
* @since 3.60.0
* @see Phaser.GameObjects.Particles.ParticleEmitter#setAnim
*/
this.anims = null;
if (this.emitter.anims.length > 0)
{
this.anims = new AnimationState(this);
}
/**
* A rectangle that holds the bounds of this Particle after a call to
@ -590,7 +598,10 @@ var Particle = new Class({
return false;
}
if (this.anims)
{
this.anims.update(0, delta);
}
var emitter = this.emitter;
var ops = emitter.ops;
@ -782,8 +793,11 @@ var Particle = new Class({
* @since 3.60.0
*/
destroy: function ()
{
if (this.anims)
{
this.anims.destroy();
}
this.anims = null;
this.emitter = null;

View file

@ -1377,6 +1377,8 @@ var ParticleEmitter = new Class({
* anim: [ 'red', 'green', 'blue', 'pink', 'white' ]
* anim: { anims: [ 'red', 'green', 'blue', 'pink', 'white' ], [cycle: bool], [quantity: int] }
*
* Call this method at least once before any particles are created, or set `anim` in the Particle Emitter's configuration when creating the Emitter.
*
* @method Phaser.GameObjects.Particles.ParticleEmitter#setAnim
* @since 3.60.0
*