我有一個影片,通常應該播放 3 次,因此配置當前顯示repeat: 2. 但是,在特定條件下(玩家停止拖動元素)我希望影片完成并停止而不重復。
我的意思是我不希望它在第二幀停止,但我希望它完成播放到我分配的最后一幀frames,然后在它重復之前停止。
我怎么能做到這一點?
// ANIMATION CREATED HERE
this.anims.create({
key: "nom",
frameRate: 12,
frames: this.anims.generateFrameNames("chara", {
prefix: "nom_000",
start: 0,
end: 4}),
repeat: 2,
});
this.input.on('drag', (activePointer, gameObject, dragX, dragY) => {
gameObject.x = dragX;
gameObject.y = dragY;
if(Phaser.Geom.Intersects.RectangleToRectangle(gameObject.getBounds(), character.mouth.getBounds())) {
gameState.snack_cursor.play("fries_cursor", true);
// ANIMATION PLAYED HERE
character.sprite.play("nom", true);
}
});
this.input.on('dragend', (pointer, gameObject, dragX, dragY) => {
if (gameObject.anims.isPlaying)
gameObject.anims.stop();
// ANIMATION STOPS HERE, BUT CURRENTLY AT WHATEVER FRAME IT'S AT
if (character.sprite.anims.isPlaying)
character.sprite.anims.stop();
});
uj5u.com熱心網友回復:
您可以使用該功能stopAfterRepeat(檔案)。
只需使用引數呼叫它,0當前影片將在影片停止之前完成。我想這就是你所追求的。
...
character.sprite.anims.stopAfterRepeat(0);
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/440961.html
標籤:javascript 动画 移相器框架
