Kineticjs 如何为图像的简单动画设置帧速率

Kineticjs 如何为图像的简单动画设置帧速率,kineticjs,Kineticjs,我正在尝试动画图像从页面的左侧到右侧,然后再返回 与此示例非常相似: 我已经在手机和桌面上试用了我的应用程序,我得到了一个非常不同的帧率。有没有办法为这样的简单动画设置帧速率,以便在所有设备和浏览器上图像从一侧移动到另一侧的时间始终相同 我看到您可以为精灵设置它,但不能为动画设置它。请参见: 基本上,您需要超越内置的requestAnimationFrame功能(该功能用于尽可能快地制作动画),并创建计时器,但目前,kineticjs中没有内置用于设置动画帧速率的功能 您可以进入从kin

我正在尝试动画图像从页面的左侧到右侧,然后再返回

与此示例非常相似:

我已经在手机和桌面上试用了我的应用程序,我得到了一个非常不同的帧率。有没有办法为这样的简单动画设置帧速率,以便在所有设备和浏览器上图像从一侧移动到另一侧的时间始终相同

我看到您可以为精灵设置它,但不能为动画设置它。

请参见:

基本上,您需要超越内置的requestAnimationFrame功能(该功能用于尽可能快地制作动画),并创建计时器,但目前,kineticjs中没有内置用于设置动画帧速率的功能

您可以进入从kineticjs站点下载的.js文件,并处理以下代码:

Kinetic.Animation._animationLoop = function() {
    var that = this;
    if(this.animations.length > 0) {
        this._runFrames();
        Kinetic.Animation.requestAnimFrame(function() {
            that._animationLoop();
        });
    }
    else {
        this.animRunning = false;
    }
};
Kinetic.Animation._handleAnimation = function() {
    var that = this;
    if(!this.animRunning) {
        this.animRunning = true;
        that._animationLoop();
    }
};
RAF = (function() {
    return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || Kinetic.Animation.fixedRequestAnimFrame;
})();

Kinetic.Animation.requestAnimFrame = function(callback) {
    var raf = Kinetic.DD && Kinetic.DD.moving ? this.fixedRequestAnimFrame : RAF;
    raf(callback);
};
}
也许这也有助于:

在动画函数中,我放置了一个if查询,以确保动画仅在x秒后工作:

            var lastTime = 1000;
    var frameRate = 500;

    var anim = new Kinetic.Animation(function(frame) {

        if(frame.time > (lastTime + frameRate)){
            **YOUR CODE HERE** 

            lastTime = frame.time;
        }


    }, this.layer);

但简短的回答是不。这不是最合适的方法,但它帮助了我。谢谢