Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Переполнение стека (http://www.flasher.ru/forum/showthread.php?t=168674)

Pubman 23.09.2011 11:24

Переполнение стека
 
Всем привет.
Есть вопрос.
У меня есть класс Menu и класс Square (рисует квадрат с нулевой alpha)
В menu я создаю экземпляр класса square.
После неких манипуляций мне надо чтобы квадрат появился на экране (alpha=1)
Я в Menu присваиваю переменой экземпляра класса square еденицу и делаю диспатч евент.
Далее мне надо поставить слушатель события в Square. Соответственно я создаю там экземпляр класса меню.
Получаю переполнения стека, т.к. класс меню создает экземпляр класса square, а square создает экзмепляр класса меню.
Как быть в данной ситуации? Мне надо в классе square поймать событие, которое было диспатчено в классе menu.

goodguy 23.09.2011 11:26

Цитата:

Как быть в данной ситуации?
Просто передать экземпляру Square в конструкторе ссылку на menu, и не нужно будет создавать никаких экземпляров



Код AS3:

public class Menu extends Sprite {
 
      public function Menu() {
            var suqare:Square = new Square(this);
            addChild(square);
      }
 
}
 
 
 
public class Square extends Sprite {
 
      private var _menu:Menu;
 
      public function Square(menu:Menu) {
            _menu = menu;
            _menu.dispatchEvent(new Event("someEvent"));
      }
 
}


Pubman 23.09.2011 11:52

Понял. спасибо!


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

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