Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
nickorsk, Вам тут будут постоянно советовать изучать ООП.
Правда в том, что AS3 - это не ООП в его классическом понимании, когда ты постоянно пишешь расширения материнского класса, а некоторая достаточно занятная субстанция, когда все классы на 90% есть расширения класса Sprite или MovieClip, а основное, что нужно не забыть - это добавить их друг в друга и на сцену через addChild. Напрямую они друг с другом родительскими отношениями как правило не связаны.
В общем, в Вашем случае надо сделать так:
1. Описать все классы как расширения класса Sprite
2. Создать основной контейнер container, в котором будет вариться вся каша.
3. В этот основной контейнер нужно положить еще один или несколько контейнеров друг на друга. На практике я лично пользуюсь тремя контейнерами, которые последовательно создаю и добавляю в container через addChild() - containerBackground, containerObjects и containerNavigation (статика на заднике, то, что шевелится, и элементы управления всем этим хозяйством).
4. Далее все игровые сущности нужно создать в порядке их появления на сцене и разложить в эти три контейнера опять же через addChild().
5. После всего этого добавляете сам container на сцену - addChild(container) и все выводится на экран.
6. На container вешаете листенер на все события, которые порождают объекты, копошащиеся внизу, и пишете логику, которая их дергает в зависимости от текущих событий. Когда будете генерировать события внизу, не забудьте ставить для bubbles значение true, иначе события не будут всплывать наверх
Возможно, то, что я написал, не совсем понятно - надо зайти в хэлп, взять примеры для классов DisplayObjectContainer, Event/EventDispatcher и запустить их. Там все достаточно прозрачно.
Последний раз редактировалось mikhailk; 07.01.2010 в 00:20.
|