这是我原来的伪代码:
function1();
function1():void{
//do something
after mouseclick do function2
}
function2():void{
//do something
after animationfinish do function3
}
etc..
我能把它变成这样的东西吗?:
function1();
after mouseclick do function2()
after animationfinish do function3()
让听众进入最高级别的简单方法是什么?
答案 0 :(得分:1)
如果我正确理解您的问题,当调用function1时,您想要addEventListener(MouseEvent.CLICK, function2);
您是否正在使用Actiosncript制作动画或关键帧?
我知道使用TweenMax你可以添加一个函数来在补间结束时调用。如果使用fl.Transtions.Tween,您可以侦听TweenEvent.MOTION_FINISH,然后调用function3。我不太喜欢Flash中的时间线,因为我对编码感觉更有控制力,但我知道你可以在动画的最后一帧添加代码来调用function3。
如果我完全失踪,你可以随意澄清你究竟在寻找什么。
答案 1 :(得分:-1)
如果我很了解 - 你喜欢创建功能链。
我取决于你喜欢做什么,问题在于许多可能性。 对于少数几个函数,我使用这个类: https://github.com/turbosqel/as3SupportLib/blob/master/as3SupportLib/src/turbosqel/utils/CountCall.as
您还可以使用更深入,更有弹性的方式并添加下一个回调函数:
var func:Function = function():void { // declare new function
... function body // your class actions
for each(var call:Function in arguments.callee){ // get functions
call(); // call function
}
}
func["someFunction"] = someFunction; // add function as dynamic value
func["otherFunction"] = anotherFunctionToCall; // add another function
func(); // call function