我从 Kinetic.js 开始,我的第一个应用程序运行良好,但我找不到停止 Sprite 的方法……例如,我有一个 Sprite ,我想“播放”那个 Sprite 仅一次,查看帧,在最后一个帧中,一个简单的 stop()。我怎样才能做到这一点? (在 Sprite 的最后“帧”之后停止)。
这是我的代码(针对那个 Sprite ):
var myImage = new Image();
myImage.onload = function() {
var mySprite = new Kinetic.Sprite({
x: 250,
y: 40,
width: 70,
height: 109,
image: myImage,
animation: 'idle',
animations: animations,
frameRate: 5
});
layer1.add(mySprite);
mySprite.start();
};
myImage.src = 'sheet2.png';
提前致谢!
最佳答案
您可以使用 afterFrame
函数,这将使您能够在特定帧之后触发事件。
例如,您可以在第 5 帧之后调用 stop()
。 (无论您的 Sprite 中有多少帧,您都需要将其更新。)
mySprite.afterFrame(5, function(){
mySprite.stop();
});
您可以在以下两篇文章中看到使用 afterFrame
的示例:
http://ramkulkarni.com/blog/sprite-animation-in-html5-canvas-with-kineticjs/ http://www.html5canvastutorials.com/kineticjs/html5-canvas-kineticjs-sprite-tutorial/
关于javascript - Kinetic.js [如何停止一个 Sprite ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16303292/