Flash CC で構築されたアニメーション ベースの html プロジェクトがあり、プリロードを個別に行うのに苦労しています。
私がやろうとしていることは次のとおりです。
- 1 つの画像を読み込み (「お待ちください」と表示)、createjs エクスポートを行います。
- アニメーションはタイムラインの先頭で停止します。ここで関数を呼び出します。
- いくつかのアセットをロードします。
- アニメーションを開始
- タイムライン上の特定のポイントでアニメーションを停止します。次に、アニメーションの次の部分のアセットを読み込みます。
- ロードが完了したら、アニメーションを続行します。等
すべてのアセットを読み込んでアニメーション全体を再生しても問題ありません。しかし、マニフェストを分離することになると。必要なファイルをロードしてアニメーションを続行しますが、ロードされた画像がキャンバスに表示されません。
以下のコードをhtmlのinit.jsファイルとして使用しています。
var canvas, stage, exportRoot;
function init() {
canvas = document.getElementById("canvas");
images = images||{};
preloadLaunch();
}
function preloadLaunch(){
var loader = new createjs.LoadQueue(false);
loader.addEventListener("fileload", handleFileLoad);
loader.addEventListener("complete", handleComplete);
loader.loadManifest(lib.properties.manifestLaunch); //selects the manifest from createjs export, first image says please wait.
}
function handleFileLoad(evt) {
if (evt.item.type == "image") { images[evt.item.id] = evt.result; }
}
function handleComplete() {
exportRoot = new lib.project();
stage = new createjs.Stage(canvas);
stage.addChild(exportRoot);
stage.update();
stage.enableMouseOver();
createjs.Ticker.setFPS(lib.properties.fps);
createjs.Ticker.addEventListener("tick", stage);
}
/// triggers from animation timeline
function preloadPart01() {
var loader01 = new createjs.LoadQueue(false);
loader01.addEventListener("fileload", handleFileLoad);
loader01.addEventListener("complete", start);
loader01.loadManifest(lib.properties.manifestPart01); //selects the manifest from createjs export
}
function start() {
stage.update();
exportRoot.animation.gotoAndPlay("START"); // files are loaded in manifestPart01 and starts the animation, but loaded images are not visible.
}
「getResult」のことだと思っていたのですが、コードに実装できませんでした。喜んでお手伝いさせていただきます。
どうもありがとうございました。