我正在尝试使用 EaselJS 和 2 个动画实例,使用精灵表和 2 个位于不同位置的独立画布,具有相同的 z-index,它们没有分层。我现在拥有的是两个 EaselJS 函数,每个函数都有不同的阶段和精灵表,在 DOM 加载后使用 jQuery 触发 instance1,使用 jQuery 也使用 mouseenter/mouseleave 事件触发 instance2。
画架:
function instance1() {
var stage = new Stage(document.getElementById(canvas1));
var ss = new SpriteSheet({
"images": ["sprite1.jpg"],
"frames": {"regY": 0, "height": 100, "regX": 0, "width": 200, "count": 17},
"animations": {"instance1": [0, 16]}
});
var initInstance1 = new BitmapAnimation(ss);
initInstance1.x = 0;
initInstance1.y = 0;
initInstance1.gotoAndPlay("instance1");
stage.addChild(initInstance1);
Ticker.setFPS(10);
Ticker.addListener(stage);
}
function instance2() {
var stage = new Stage(document.getElementById(canvas2));
var ss = new SpriteSheet({
"images": ["sprite2.jpg"],
"frames": {"regY": 0, "height": 100, "regX": 0, "width": 200, "count": 17},
"animations": {"instance2": [0, 16]}
});
var initInstance2 = new BitmapAnimation(ss);
initInstance2.x = 0;
initInstance2.y = 0;
initInstance2.gotoAndPlay("instance2");
stage.addChild(initInstance2);
Ticker.setFPS(24);
Ticker.addListener(stage);
}
在测试的时候,我发现instance1不是以每个函数定义的FPS运行,而是以10FPS运行,那么如果instance2被mouseenter()调用;使用 jQuery,instance1 的 FPS 会自动改变 instance2 的 FPS。是否有一种方法可以对每个实例应用不同的 Ticker 以保留单独的 FPS?提前致谢。