我有一个6帧的精灵,例如,当我单击按钮时,我想显示第3帧。我正在尝试这段代码,但仍在第1帧中停止。
function preload (){
this.load.spritesheet('info', 'images/info.png', { frameWidth: 550, frameHeight: 400 });
}
function create (){
var infos = this.add.sprite(275,200,"info")
this.anims.create({
key: "informations",
frames: this.anims.generateFrameNumbers("info", { start: 0, end: 6 }),
frameRate: 10,
repeat: -1
});
// I'm try to show the frame 3 here.
informations.pause(3);
// When I play, the animation work!
//infos.anims.play("informations", true);
}
我找到了pause( [atFrame] )的文档,但是它不起作用。
答案 0 :(得分:1)
atFrame
实际上是Phaser.Animations.AnimationFrame
类型。因此,您需要通过其中之一。
例如,可以通过调用infos.anims.currentAnim.frames[0]
获得其中一种类型,其中0
是所需帧的索引。
// Assuming you want the third actual frame:
infos.anims.pause(infos.anims.currentAnim.frames[2]);