Actionscript 3 ActionScript-获取事件调度器的函数
我的代码中有两个函数可以分派TweenEvent。每个函数分派相同的tween并添加相同的TweenEvent.MOTION\u FINISH事件侦听器。但是,事件侦听函数必须根据调度事件的函数进行操作 是否可以从事件侦听器获取事件调度器的功能?如果没有其他优雅的解决方案,我可以使用一个标志来实现这一点Actionscript 3 ActionScript-获取事件调度器的函数,actionscript-3,events,event-handling,get,dispatcher,Actionscript 3,Events,Event Handling,Get,Dispatcher,我的代码中有两个函数可以分派TweenEvent。每个函数分派相同的tween并添加相同的TweenEvent.MOTION\u FINISH事件侦听器。但是,事件侦听函数必须根据调度事件的函数进行操作 是否可以从事件侦听器获取事件调度器的功能?如果没有其他优雅的解决方案,我可以使用一个标志来实现这一点 public function FirstTweenAction():void { myTween = new Tween(/* tween stuff */);
public function FirstTweenAction():void
{
myTween = new Tween(/* tween stuff */);
myTween.addEventListener(TweenEvent.MOTION_FINISH, myTweenEventMotionFinishHandler);
}
public function SecondTweenAction():void
{
myTween = new Tween(/* tween stuff */);
myTween.addEventListener(TweenEvent.MOTION_FINISH, myTweenEventMotionFinishHandler);
}
private function myTweenEventMotionFinishHandler(evt:TweenEvent):void
{
evt.currentTarget.removeEventListener(TweenEvent.MOTION_FINISH, myTweenEventMotionFinishHandler);
if (/* Event was fired from FirstTweenAction() */)
trace("Dispatcher is FirstTweenAction()");
else
trace("Dispatcher is SecondTweenAction()");
}
您无法找出tween是从哪个方法初始化的。相反,创建两个tween成员变量并检查事件的目标对象:
if (evt.target == myFirstTween) doSomething();
else doSomethingElse();
或调用两个不同的事件处理程序:
public function FirstTweenAction():void
{
myTween = new Tween(/* tween stuff */);
myTween.addEventListener(TweenEvent.MOTION_FINISH, myFirstTweenEventMotionFinishHandler);
}
public function SecondTweenAction():void
{
myTween = new Tween(/* tween stuff */);
myTween.addEventListener(TweenEvent.MOTION_FINISH, mySecondTweenEventMotionFinishHandler);
}
哦对不起,我把问题写错了。两个孩子的名字都一样。我已经编辑了这个问题。