EaselJS模块中的MovieClip类有一个loop属性,可以设置为true或false,使影片剪辑无限播放或仅播放一次。 http://www.createjs.com/docs/easeljs/classes/MovieClip.html
我需要播放三次电影剪辑(横幅广告)。怎么办?
这是init函数:
<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>
答案 0 :(得分:2)
目前没有循环计数支持,也没有来自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.
}
});
希望有所帮助。