addEventListener для функции в другом классе - PullRequest
0 голосов
/ 04 июля 2011

Быстрый вопрос ActionScript, так как я все еще привыкаю к ​​языку:

Можно ли передать addEventListener функцию из другого класса?То есть у меня есть вызов модели addEventListener (Event.NAME, Controller.function) или что-то в этом роде.

Возможно не так уж и сложно, если я не могу этого сделать, но я простоинтересно для организации кода и т. д.

1 Ответ

3 голосов
/ 04 июля 2011

Да, вы можете, как вы можете видеть в следующем примере, который я сделал:

package 
{
    import flash.display.Sprite;
    import flash.events.Event;

    public class Main extends Sprite 
    {

        public function Main():void 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }

        private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);

            addChild(new CustomSprite);

        }// end function

    }// end class

}// end package

import flash.events.Event;
import flash.display.Sprite;

internal class Global
{
    public static function onAddedToStage(e:Event):void
    {
        trace("onAddedToStage() called.");

    }// end function

}// end class

internal class CustomSprite extends Sprite
{
    public function CustomSprite()
    {
        addEventListener(Event.ADDED_TO_STAGE, Global.onAddedToStage);

    }// end function

}// end function

Лично я бы не советовал, хотя у него могут быть интересные приложения.

...