0

有任何方法可以创建像这样重复的帧,上面:

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!

4

2 回答 2

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

于 2013-04-09T15:40:20.400 回答
1

你可以使用:

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

您可以在运行时为每个单独的动画设置它。

于 2013-04-09T06:02:08.753 回答