javascript - Kinetic.js [如何停止一个 Sprite ]

标签 javascript kineticjs sprite

我从 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/

相关文章:

unity3d - 如何在Unity3d中删除切片的 Sprite

javascript - 用javascript隐藏div全部折叠

javascript - 图像不使用 KineticJS 呈现

javascript - 将 KineticJS 形状保留在 Canvas 内

javascript - HTML5 Canvas 中图像调整大小的限制

lazy-loading - 延迟加载或巨大的 CSS-sprite(大小为 9MB)

javascript - 为元素创建变量还是每次都选择它是否更有效?

javascript - 如何在 javascripts 中按经度纬度距离对数组项进行排序?

javascript - 允许用户一次只创建一个 Google map 标记