![]() |
Обращение к экземпляру класса и eventDispatcher (нубские вопросы)
Привет.
Пара вопросов :) Main.as Код AS3:
Tower.as Код AS3:
Вопросы: 1)Если я диспатчу событие из класса то подписать на это событие я мог только экземпляр этого класса? просто addEventListener("towerClick", towerClicked); не ловит, а tower_1.addEventListener("towerClick", towerClicked); ловит. 2) не получается вызвать методы( и менять значение переменных) через экземпляр класса в функции отлично от той где я его создаю. то есть сейчас в мейне у меня есть Код AS3:
но если я попытаюсь изменить tower_1.x в любом другом месте - выдает ошибку. ( в это время tower_1 гарантированно существует и например ловит\кастует события). Вот пока все. Знаю что вопросы очень нубские но пытаясь пересесть кадров они мне пока не даются. Спасибо. |
Цитата:
Цитата:
Код AS3:
|
1) ок. понял.
2) ага, если у меня известное количество объектов ясно, а что если я добавляю эти объекты по ходу дела и не знаю сколько у меня будет экземпляров и каких объектов? Создавать для каждого возможно появящегося типа(класса) свою переменную в мейне заранее? |
Цитата:
2) Конечно нет. Ссылки на экземпляры не обязательно должны храниться в приватных полях класса напрямую, они могут храниться в массиве или векторе, или добавленные как дети дисплейлиста в контейнере. Но в любом случае на объект должна быть хотя бы одна ссылка, иначе он будет удален из памяти Сборщиком Мусора. Что касается событий, которые эти объекты ыбудут рассылать – вы подпишитесь на них сразу после создания объекта, а в обработчике событий узнать, какой именно экземпляр послал событие, можно из свойств объекта События, который непременно получает слушатель-обработчик. У этого объекта есть поля target и currentTarget. |
спасибо, разобрался.
|
| Часовой пояс GMT +4, время: 22:35. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.