Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅播放动画精灵表的第一帧_Javascript_Phaser Framework - Fatal编程技术网

Javascript 仅播放动画精灵表的第一帧

Javascript 仅播放动画精灵表的第一帧,javascript,phaser-framework,Javascript,Phaser Framework,试图添加一个爆炸动画到我的游戏,但由于某种原因,只有第一帧的精灵发挥。Spritesheet已加载到预加载程序中 这是调用动画的函数 function asteroidCollisionHandler(player, asteroid){ live = lives.getFirstAlive(); if (live) { live.kill(); } explosion = explosions.getFirstExists(false); explosion.reset(play

试图添加一个爆炸动画到我的游戏,但由于某种原因,只有第一帧的精灵发挥。Spritesheet已加载到预加载程序中

这是调用动画的函数

function asteroidCollisionHandler(player, asteroid){

live = lives.getFirstAlive();

if (live)
{
    live.kill();
}

explosion = explosions.getFirstExists(false);
explosion.reset(player.body.x, player.body.y);

explosion.play('explosion', 30, false, false);

if (lives.countLiving() < 1)
{
    player.kill();
}

}
预紧器

this.load.spritesheet('explosion', 'images/explode.png', 128, 128, 16);

exploations.createMultiple()
仅创建30个精灵,您仍然需要向每个精灵显式添加动画。您可以添加带有名称的动画,也可以选择添加帧等。顺便说一句,我建议对组和动画使用不同的名称,以避免混淆,因此如下所示:

// initialise animations in the Create() function:
for (var i = 0; i < grpexplosions.children.length; i++) {
    grpexplosions.children[i].animations.add('animexplode', [0,1,2,3], 30, true, false);
    //grpexplosions.children[i].animations.add('animexplode'); // alternatively, leave frames null to use all frames
};

// and then when you need one:
explosion = grpexplosions.getFirstExists(false);
explosion.play('animexplode', 30, false, false);
var framesIndex = [0,1,2,3]; // or names
grpexplosions.callAll('animations.add', 'animations', 'animexplode', framesIndex, 30, true, false);
//grpexplosions.callAll('animations.add', 'animations', 'animexplode'); // frames optional, this will simply add all frames
var framesIndex = [0,1,2,3]; // or names
grpexplosions.callAll('animations.add', 'animations', 'animexplode', framesIndex, 30, true, false);
//grpexplosions.callAll('animations.add', 'animations', 'animexplode'); // frames optional, this will simply add all frames