Как узнать переменную из другого класса?
В общем.
Есть два класса - Root и Block. В руте я добавляю героя и блоки в список отображения и делаю герою движение. В блоке я хочу проверять каждый блок на столкновение с героем. Вот только хочу узнать как правильно брать переменную из другого класса (того же героя). Раньше статиком пользовался, но понял, что это плохой стиль. Код: Код AS3:
Код AS3:
|
Если герой только один - то можешь использовать паттерн Singleton. Экземпляр будет уникален, приватен, и доступ к нему может быть осуществлен через статиковскую функцию... Но у тебя что-то... как-то... по-моему, неправильный подход к организации игры вцелом =)
|
Вроде решили же, что синглтон - антипаттерн.)
Передавай Block`y игрока в конструктор. |
>>Вот только хочу узнать как правильно брать переменную из другого класса (того же героя).
А get зачем? тогда. Код AS3:
|
> Вроде решили же, что синглтон - антипаттерн.)
О_о Я, смотрю, много пропустил... |
пробовали сохранять this (т.е. ссылку на экземпляр класса Root) в свойстве экземпляра класса Block?
примерно вот так Код AS3:
Подробнее об этом можно посмотреть здесь |
Цитата:
|
Видать объявили лжепаттерном и предали анафеме :D
|
с пендосской википедии
Цитата:
Цитата:
|
В мейн классе:
stage.addChild(hero); А в другом классе героя можно получить: new hero:Hero = stage.getChildAt(1) as Hero; Конечно это не очень хорошо, т.к если кто-то в мейн классе случайно поменяет местами добавление в список отображение, то это приведёт к не очень приятным последсвиям, поэтому используйте stage.getChildByName(). |
Часовой пояс GMT +4, время: 20:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.