我有一个基于 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”的,但我无法将它实现到代码中。我会很高兴得到任何帮助。
非常感谢。