easelJS - 在确定的动作上模拟较低的FPS

时间:2013-04-08 06:39:34

标签: javascript easeljs createjs box2dweb

有没有办法在上面创建像这样重复的帧:

character = new createjs.SpriteSheet({
        images: [img],
        frames: {width: frameW, height: frameH, regX: frameW/2, regY: frameH/2},
        animations: { run: [0,9, "run"],
                      hit: [10,10,11,11,12,12,13,13,14,14,15,15, "idle"],
                      jmp: [18,22, "idle_jmp"],
                      idle_jmp: [22],
                      idle: [2]
             }
    });

在击中两次时重复每一帧,以便在击中动作时模拟较低的FPS!

2 个答案:

答案 0 :(得分:2)

除了olsn提供的基于代码的频率解决方案外,您还可以在SpriteSheet数据中指定“频率”。

示例“点击”动画的格式不正确。您可以使用简单的格式:


hit: [startFrame, endFrame, "nextAnimation", frequency],
// For example:
hit: [10,15,"idle",2]

或者您可以对每个帧使用更复杂的定义,并按名称指定其他属性:


hit: {
    frames: [10,11,12,13,14,15],
    next: "idle",
    frequency:2
}

查看SpriteSheet文档中的主要概述: http://www.createjs.com/Docs/EaselJS/classes/SpriteSheet.html

答案 1 :(得分:1)

您可以使用:

character.getAnimation('run').frequency = 2 or whatever frequency you like

您可以在运行时为每个动画设置。