Actionscript 3 如何保持AS3代码的简单性

Actionscript 3 如何保持AS3代码的简单性,actionscript-3,events,Actionscript 3,Events,这是我的原始伪代码: function1(); function1():void{ //do something after mouseclick do function2 } function2():void{ //do something after animationfinish do function3 } etc.. 我能把它变成这样吗 function1(); after mouseclick do function2() after animation

这是我的原始伪代码:

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()

让监听器处于顶层的简单方法是什么?

如果我正确理解了您的问题,当调用function1时,您希望
添加监听器(MouseEvent.CLICK,function2)

您是否使用ActivoScript设置动画或关键帧

我知道使用TweenMax可以在tween的末尾添加一个要调用的函数。如果使用fl.transions.Tween,您可以监听TweenEvent.MOTION\u FINISH,然后调用函数3。我不会在Flash中对时间线进行太多的处理,因为我觉得对它进行编码更容易控制,但我知道可以在动画的最后一帧添加代码来调用function3


如果我完全不知道你的问题,请随时澄清你到底在寻找什么。

如果我很了解-你喜欢创建功能链

我要看你们喜欢做什么,问题有很多可能。 对于调用较少的函数,我使用此类:

您还可以使用更深入、更灵活的方式,向函数添加下一次回调:

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

你在谈论一些事件。你不明白什么?我们需要更多关于你想要实现什么的信息?这就是我想要的-功能链!塔克斯!别忘了从函数中删除引用,它可能会导致泄漏-1因为这绝对不是OP的解决方案。这个解决方案中的函数都是同步执行的,而OP是关于异步菊花链的。你应该醒来,检查创建post的人写的:“这就是我想要的”。所以你们认为那个答案是错的,若你们更清楚作者的意思,你们一定是个读心术的人。顺便说一句,第一个解决方案是异步函数(CountCall.as)是的,我知道他写的正是他想要的。但这不是他所要求的。如果人们来为他描述的同一类问题寻找答案,他们会错误地认为这是一个正确的解决方案,而事实并非如此。虽然CountCall.as是一个半异步解决方案,但它不是一个真正的异步队列。它所做的只是释放线程以执行所有同步调用,并在该调用之后立即执行队列中的下一个函数。这与异步调用排序不同。换句话说,这并不能解决他所描述的问题。