Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   addEventListener ругается в Main классе (http://www.flasher.ru/forum/showthread.php?t=208609)

darkthor 05.08.2014 20:45

addEventListener ругается в Main классе
 
Всем привет. В общем хотел я сделать так чтобы прелоудер не исчезал пока я не загружу все что надо (инфу о юзере из соц сети, внешний файл с сеттингами приложения). А то после прелоудера и до появления гуи возникает пауза.
В Main классе я тоже ничего особо не делаю. Создаю там уже рабочий класс Game.
Решил сделать событие, которое срабатывает в Game когда все уже загружено. И хотел слушать его в Main.

Код AS3:

package 
{
        import flash.display.Sprite;
        import flash.display.StageScaleMode;
        import flash.events.Event;
        import game.Game;
 
        /**
        * ...
        * @author thor
        */

        [Frame(factoryClass="Preloader")]
        public class Main extends Sprite
        {
 
                private var game:Game;
 
                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);
                        // entry point
 
                        // tab focus block
                        tabChildren = false;
 
                        game = new Game(stage);
                        game.addEventListener(Game.LOADED, onLoaded);
                }
 
                private function onLoaded(event:Event):void {
                        game.removeEventListner(Game.LOADED, onLoaded);
                        addChild(game);
 
                        dispatchEvent(event);
                }
 
        }
 
}

В итоге дебагер ругается на создание слушателя события.
Код:

Error: Call to a possibly undefined method addEventListener.
В чем может быть проблема?

alexandrratush 05.08.2014 21:01

Класс Game должен расширять EventDispatcher.

darkthor 05.08.2014 21:02

он расширяет Sprite. я конечно могу ошибаться. но помоему любой DisplayObject расширяет EventDispatcher

alexandrratush 05.08.2014 21:09

Цитата:

но помоему любой DisplayObject расширяет EventDispatcher
верно.

Может в написании addEventListener есть русская буква?
Киньте ваш класс Game (можно только с конструктором).

caseyryan 05.08.2014 21:50

Вообще странно. Русской буквы там нет. Может структура класса не верная. В любом случае надо код класса Game смотреть

fljot 05.08.2014 23:43

что-то мне помнится было с одноимёнными классами и пакетами

LifeIsRhythm 06.08.2014 00:02

Цитата:

что-то мне помнится было с одноимёнными классами и пакетами
Это вроде бы, если сам Main находился в package game, тогда нельзя было бы свойство game заводить.

Котяра 06.08.2014 00:45

в точку!
переименуйте game в _game

ZackMercury 06.08.2014 00:52

Ну так пакет же безымянный. Смысл?

toFL 06.08.2014 01:08

Цитата:

game.addEventListener(Game.LOADED, onLoaded);
Здесь game выступает в качестве пакета, а не экземпляра класса. Переменную переименовать, как предложил Котяра


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

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