需要加上参数才会在完成后执行
举例:
st.alpha = 0;
TweenLite.to(st,3,{alpha:1,onComplete:Reload, onCompleteParams:[st,"df"]});
一般情况下,我们这样子写:
TweenLite.to(st,3,{alpha:1,onComplete:Reload});
经过测试发现,Reload 函数并不是在动画执行结束后执行的,而是动画一开始就行了。
翻遍互联网,发现需要带上参数才可以 确保动画结束后执行Reload,如下
TweenLite.to(st,3,{alpha:1,onComplete:Reload, onCompleteParams:[st,"df"]});
function Reload(e:MovieClip,dd:String):void
{
trace(dd);
st.Disp("single.xml");
}
如果需要在Disp里面的函数结束后,继续执行动画,可以才disp结束后这样子写:
public function Disp(xmlPath:String):void
{ var loader:URLLoader = new URLLoader();
//loader.load(new URLRequest("single.xml"));
loader.load(new URLRequest(xmlPath));
loader.addEventListener(Event.COMPLETE, showXML);
}
function showXML(e:Event):void
{
var desc:XML = new XML(e.target.data);
trace("now:"+this.alpha);
TweenLite.to(this,3,{alpha:0,delay:1});
}