通过图像数组播放动画
Play animation through an image array
我有大约 200 张循环 运行 的照片,图像之间会有淡入淡出和淡出,有什么方法可以处理图像数组或其他东西像那样所以我不对所有图像一张一张地应用相同的动画?
编辑
我试过了,但它不符合我的要求 setInterval
:
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.events.Event;
stage.addEventListener(Event.ENTER_FRAME, sendToBack);
function sendToBack(event:Event):void{
setInterval(function(){
setChildIndex(getChildAt(2), 0);
var my_mc = getChildAt(2);
getChildAt(1).visible = false;
getChildAt(0).visible = false;
TransitionManager.start(my_mc, {
type: Fade
});
}, 2000);
}
我用这段代码得到了想要的结果:
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.events.Event;
var childsNum = numChildren,
frameInterval = 3000,
fadeDuration = 0.5;
function hideAll(){
var i;
for (i = 0; i < numChildren; i++) {
getChildAt(i).visible = false;
}
}
hideAll();
function animateFrame(){
var child = getChildAt(childsNum - 1),
myTM:TransitionManager = new TransitionManager(child);
myTM.startTransition({
type: Fade,
duration: fadeDuration
});
myTM.addEventListener("allTransitionsInDone", function(){
setChildIndex(getChildAt(childsNum - 1), 0);
getChildAt(1).visible = false;
});
}
setInterval(function(){
animateFrame();
}, frameInterval);
我有大约 200 张循环 运行 的照片,图像之间会有淡入淡出和淡出,有什么方法可以处理图像数组或其他东西像那样所以我不对所有图像一张一张地应用相同的动画?
编辑
我试过了,但它不符合我的要求 setInterval
:
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.events.Event;
stage.addEventListener(Event.ENTER_FRAME, sendToBack);
function sendToBack(event:Event):void{
setInterval(function(){
setChildIndex(getChildAt(2), 0);
var my_mc = getChildAt(2);
getChildAt(1).visible = false;
getChildAt(0).visible = false;
TransitionManager.start(my_mc, {
type: Fade
});
}, 2000);
}
我用这段代码得到了想要的结果:
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.events.Event;
var childsNum = numChildren,
frameInterval = 3000,
fadeDuration = 0.5;
function hideAll(){
var i;
for (i = 0; i < numChildren; i++) {
getChildAt(i).visible = false;
}
}
hideAll();
function animateFrame(){
var child = getChildAt(childsNum - 1),
myTM:TransitionManager = new TransitionManager(child);
myTM.startTransition({
type: Fade,
duration: fadeDuration
});
myTM.addEventListener("allTransitionsInDone", function(){
setChildIndex(getChildAt(childsNum - 1), 0);
getChildAt(1).visible = false;
});
}
setInterval(function(){
animateFrame();
}, frameInterval);