スプライト シートを使用して EaselJS と 2 つのアニメーション インスタンスを試しており、同じ z インデックスを持つ異なる位置にある 2 つの別々のキャンバスを使用しています。それらはレイヤー化されていません。私が今持っているのは、それぞれ異なるステージとスプライト シートを持つ 2 つの EaselJS 関数です。instance1 は DOM ロード後に jQuery で起動され、instance2 は jQuery で mouseenter/mouseleave イベントで起動されます。
EaselJS:
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);
}
テスト中に、各関数で定義された FPS で実行する代わりに、instance1 が 10FPS で実行されることがわかりました。jQuery では、instance1 の FPS が instance2 の FPS を自動的に変更します。個別の FPS を保持するために、各インスタンスに異なるティッカーを適用する方法はありますか? 前もって感謝します。