【发布时间】:2011-01-03 17:21:35
【问题描述】:
我的代码中有 2 个函数可以调度 TweenEvent。每个函数调度相同的补间并添加相同的 TweenEvent.MOTION_FINISH 事件侦听器。但是,事件监听函数必须根据调度事件的函数进行操作。
是否可以从事件监听器中获取事件调度器的功能?如果没有其他优雅的解决方案,我可以使用标志来完成这项工作。
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()");
}
【问题讨论】:
标签: actionscript-3 events event-handling get dispatcher