如何在 phaser.js 中为群组精灵添加动画?
How to add animation to a group sprite in phaser.js?
如何为已添加到组中的 sprite 设置动画?
这是我的精灵表:
game.load.spritesheet('enemyBullet', 'assets/games/invaders/enemy-bullet.png', 11, 19);
这是群组:
// The enemy's bullets
enemyBullets = game.add.group();
enemyBullets.enableBody = true;
enemyBullets.physicsBodyType = Phaser.Physics.ARCADE;
enemyBullets.createMultiple(30, 'enemyBullet');
enemyBullets.setAll('anchor.x', 0.5);
enemyBullets.setAll('anchor.y', 1);
enemyBullets.setAll('outOfBoundsKill', true);
enemyBullets.setAll('checkWorldBounds', true);
这是我认为应该添加的代码。
enemyBullets.animations.add('fly3', [ 0, 1, 2, 3], 20, true);
enemyBullets.play('fly3');
但是,如果我将其添加到上述组代码块的任何位置,我会收到错误 'enemyBullets.animations.' undefined'.
有什么想法吗?
我找到答案了:
enemyBullets.callAll('animations.add', 'animations', 'fly3', [0,1,2,3], 16, true);
enemyBullets.callAll('play', null, 'fly3');
已测试,有效。
如何为已添加到组中的 sprite 设置动画?
这是我的精灵表:
game.load.spritesheet('enemyBullet', 'assets/games/invaders/enemy-bullet.png', 11, 19);
这是群组:
// The enemy's bullets
enemyBullets = game.add.group();
enemyBullets.enableBody = true;
enemyBullets.physicsBodyType = Phaser.Physics.ARCADE;
enemyBullets.createMultiple(30, 'enemyBullet');
enemyBullets.setAll('anchor.x', 0.5);
enemyBullets.setAll('anchor.y', 1);
enemyBullets.setAll('outOfBoundsKill', true);
enemyBullets.setAll('checkWorldBounds', true);
这是我认为应该添加的代码。
enemyBullets.animations.add('fly3', [ 0, 1, 2, 3], 20, true);
enemyBullets.play('fly3');
但是,如果我将其添加到上述组代码块的任何位置,我会收到错误 'enemyBullets.animations.' undefined'.
有什么想法吗?
我找到答案了:
enemyBullets.callAll('animations.add', 'animations', 'fly3', [0,1,2,3], 16, true);
enemyBullets.callAll('play', null, 'fly3');
已测试,有效。