如何播放 MovieClip x 次

How to play a MovieClip x times

EaselJS 模块中的 MovieClip class 有一个循环 属性 可以设置为 true 或 false,使影片剪辑无限播放或只播放一次。 http://www.createjs.com/docs/easeljs/classes/MovieClip.html

我需要将一个影片剪辑(横幅广告)播放三遍。怎么做到的?

这是初始化函数:

<script>
var canvas, stage, exportRoot;
function init() {
 // --- write your JS code here ---
 
 canvas = document.getElementById("canvas");
 images = images||{};

 var loader = new createjs.LoadQueue(false);
 loader.addEventListener("fileload", handleFileLoad);
 loader.addEventListener("complete", handleComplete);
 loader.loadManifest(lib.properties.manifest);
}

function handleFileLoad(evt) {
 if (evt.item.type == "image") { images[evt.item.id] = evt.result; }
}

function handleComplete(evt) {
 exportRoot = new lib.banner_728x90();

 stage = new createjs.Stage(canvas);
 stage.addChild(exportRoot);
 stage.update();
 stage.enableMouseOver();

 createjs.Ticker.setFPS(lib.properties.fps);
 createjs.Ticker.addEventListener("tick", stage);
}

</script>

目前不支持循环计数,也不支持来自 MovieClip 的任何事件指示动画何时结束。后者不是一个坏主意,请随时在 GitHub.

中记录错误

您可以使用的一种解决方案是从 Animate 中的时间轴脚本分派一些自定义事件:

this.dispatchEvent("walkend");

那你就可以监听事件,自己处理了。

var loopCount = 0;
exportRoot.myClip.on("walkend", function(event) {
    loopCount++;
    if (loopCount > 2) {
        doSomething();
        event.remove(); // No longer get this event.
    }
});

希望对您有所帮助。