Kinetic.js [如何停止一个精灵]

时间:2013-04-30 15:15:02

标签: javascript kineticjs sprite

我从Kinetic.js开始,我的第一个应用程序完美运行,但我找不到停止精灵的方法...例如,我有一个精灵,我想“玩”那个精灵只需一次,看到框架,在最后一个,一个简单的停止()。我怎样才能做到这一点? (在精灵的最后一个“帧”之后停止。)

这是我的代码(针对该精灵):

    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';

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以使用afterFrame功能,这将使您能够在特定帧之后触发事件。

然后你可以在第5帧之后调用stop()。 (你需要将它更新到你的精灵中有多少帧。)

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/