夕方、皆さん、
情報がたくさんあるので、通常は尋ねる必要はありませんが、これは見つけることができません-少なくとも、具体的には.
要点は次のとおりです。関数内でオブジェクトを宣言し、そのオブジェクト内でリスナーを平手打ちしています。質問: 関数が実行されると、オブジェクトと関数の両方が破棄されますか?? 明らかな理由から、オブジェクトがぶら下がっていないランダムなリスナーは必要ありません。
それが役立つ場合は、コードを簡略化します。
(もっと見栄えのするように自由に感じてください、それについてはお詫びします)
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オブジェクトは、複数の要素が同時タイマーを必要とするため、関数内で宣言されています。これは、単一の外部宣言されたタイマーでは機能しませんでした。