PDA

Просмотр полной версии : Переполнение стека


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, и не нужно будет создавать никаких экземпляров




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
Понял. спасибо!