Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как использовать Event.ADDED_TO_STAGE ? (http://www.flasher.ru/forum/showthread.php?t=144109)

inMashine 03.09.2010 00:13

Как использовать Event.ADDED_TO_STAGE ?
 
Доброй ночи.
Никак не могу понять как работает Event.ADDED_TO_STAGE.
По идее это событие срабатывает как только объект добавляется на сцену, но
тогда при запуске кода, который приведен ниже должна выскакивать надпись "ok!" , а
этого не происходит. (хотя объект на сцене виден).

Подскажите плз что я не так сделал.
код:
Код AS3:

package{
        import flash.display.MovieClip;
        import flash.filters.*;
        import flash.events.*;
        import flash.display.BitmapData;
        import flash.display.Bitmap;
        import flash.text.TextField;
 
        public class Box extends MovieClip{
                private var mc:MovieClip = new MovieClip();
 
                public function Box(){
 
                        var mc:MovieClip = this.createMovie();
                        addChild(mc);
 
                        mc.addEventListener(Event.ADDED_TO_STAGE, added);
                }
 
                public function added(event:Event):void{
                        trace("ok!");                       
                }
 
                public function createMovie():MovieClip{
                        var bmd:BitmapData = new BitmapData(100, 100, false, 0x00CCFF);
                        var bm:Bitmap = new Bitmap(bmd);
                        var mc:MovieClip = new MovieClip();
                        mc.addChild(bm);
 
                        return mc;
                }
        }
}


Psycho Tiger 03.09.2010 00:18

Тут проблема в том, что Вы подписываетесь уже ПОСЛЕ того как добавились на сцену. Событие прошло, но никто на него не подписался. Поменяйте местами строчки:
Код AS3:

mc.addEventListener(Event.ADDED_TO_STAGE, added);
addChild(mc);


inMashine 03.09.2010 00:26

спасибо


Часовой пояс GMT +4, время: 19:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.