![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
|
![]() Проблема: Не знаю как нужно использовать наследование. Запутался окончательно... Вообщем попробую объяснить: есть класс LEVEL, это и есть сам уровень на котором размещаются все нужные элементы, во-первых: - объекты с которыми будет взаимодействовать наш герой. и - сам герой (который в свою очередь будет взаимодействовать с объектами). Тут все просто, да? Хорошо. Вопрос тут вот в чем, как ссылаться на объекты из класса HERO ? Через статические переменные в классе объектов ? Через ссылки на экземпляры классов в классе LEVEL ? Как? Если Уровней будет много, и в каждом будет много всяких объектов. Запутался окончательно. Это же самое главное, без чего не написать приложение.. А я и этого не знаю. Ребят, правда, не смейтесь, я не знаю где даже это вычитать, что бы разобраться. Заранее спасибо!! |
|
|||||
|
Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
|
В класе "герой" содержится клип, которым управляем. Как получить ссылку на объект размещенный в класе LEVEL , в класе HERO?
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Прежде всего уберите логику из отдельных объектов в одно место. Не Герой решает, как взаимодействовать с объектами, а класс Логики Игры решает, как взаимодействовать объекту Герой с объектами Уровней.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Aug 2013
Сообщений: 10
|
Задам вопрос в этой теме
Извините, если что. Допустим, есть несколько объектов. Шарики, квадратики и т.п. Я создаю их экземпляры в классе Game. В классах данных объектов имеется событие enter_frame. Но при добавлении всего этого дела в Game и компиляции, всё начинает глючить. Шарики скачут по сцене и т.п. Т.е. дело видимо в том, что нужно как-то правильно передать ссылку главного stage в классы объектов. Я правильно понимаю? Как же это сделать? |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Если бы класс игры нуждался в стейдже, то не чего бы не было видно как минимум.
Причина видимо в чем то другом. Код показывайте. |
|
|||||
|
Регистрация: Aug 2013
Сообщений: 10
|
Кода нет как такового, точнее там полная абракадабра и я всё уже поперепутал...в общем, я просто не понимаю принцип взаимодействия сцены, основного класса и разных созданных мной объектов. Если я просто создаю объекты и помещаю их в Main, то возникают ошибки или глючит. Приходится в классах прописывать параметры типа
И затем уже в данном классе операции производить через stage_ = _stage. Например,
А в Мейне писать в параметрах (stage). В общем, я в край запутался со всем этим. |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Возможно я не понял, но если Вы в класса обращаетесь к свойствам stage, таким как, ширина, высота,
то нужно дождаться, пока эти классы на неё будут добавлены. Но помните, что добавлять обьекты на сцену - нельзя! Вот так делать нельзя - stage.addChild(boll); Так же не забывайте о передачи размеров сцены в конструктор класса при его создании. package { import flash.display.Sprite; import flash.events.Event; public class Boll extends Sprite { public function Boll() { if (stage)init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(event:Event=null):void { removeEventListener(Event.ADDED_TO_STAGE, init); //и тут уже можно обращаться stage.stageWidth } } } |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Добавлено через 2 минуты Так же я бы посоветовал подумать о том, чтобы вынести логику из мелких объектов в одно место, управляющее всеми объектами.
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|