大家晚上好
我通常不需要问,因为有很多信息,但我找不到 - 至少,不是具体的。
这里的要点是:我在一个函数中声明一个对象,然后在该对象中添加一个监听器。问题:一旦函数运行,对象和函数都会被丢弃吗?出于显而易见的原因,我不希望没有物体的随机听众。
如果有帮助,这里是简化的代码:
(随意让它看起来更像样,对此表示歉意)
public function textSfx(chPos:int, otlPos:int):void
{
var sfxTimer:Timer = new Timer (300, 6);
sfxTimer.addEventListener(TimerEvent.TIMER, textSfxHandler(chPos));
sfxTimer.start();
}
public function textSfxHandler(chPos:int):Function
{
return function(evt:TimerEvent):void
{
trace("char being affected is: " + chPos);
}
}
它工作得非常好,但我担心听众无家可归。肯定不是这样的,对吧?正确的??
PS 由于多个元素需要同时使用计时器,因此该对象在函数内部声明,这不适用于单个外部声明的计时器。