Цитата:
|
1. Каковы отличия кода мувиклипа, находящегося внутри его таймлайна, от кода, который находится в классе этого мувиклипа? (получаемого по Properties > Export for Action Script, насколько я понимаю, других способов создания класса мувиклипа нет). Я конешно подозреваю, что второй путь более правильный, но почему это так обьяснить не смогу.
|
Для кода в таймлайне флеш создает свои виртуальные классы. Для кода в фреймах вы не можете реализовать все преимузества ООП: закрыть доступ для того что не нужно, наследование. Отнаследовав разнве класса от общего абстрактного родителя вы можете легко менять свойста общие для групы клипов
Цитата:
|
2 Может ли быть так, что на практике оптимальнее всего использовать связку "код класса" + "код таймлайна".
|
Как сказал выше, если вы используете код на фрейме, флеш создаст виртуальный класс, т.е. вы не сможет сделать это одновременно. Когда весь код в классах навигация по коду в 20 раз легче. В большинстве случев и tween ради которых во многом и пишется код во фреймах проще заменить програмной анимацие.
В тоже время в самом IDE удобно расставлять элементы, особенно для случая с играми. Вот здесь как раз имеет большой смысл использовать графику на сцене.
Цитата:
3. Является ли код класса мувиклипа таким же глобальным как и код класса DocumentClass всего флэш-проекта?
Является ли такой код просто "удобным размещением в отдельном месте" (то есть он с таким же успехом мог бы находится и в DocumentClass.)
|
Глобальных методов в AS3 практически нет, как уже отписал в другой теме. DocumentClass и класс мувиклипа равнозначны за исключением что один создал другой. Доступ отовсюду ко всему - это недостаток, а не преимущество. ПРеимущество инкапсуляции (термин обозначающий ограничение области видимости) в том что открывая код класса в не решаете исполинские задачи, а отслеживаете только ту логику которая находится в этом классе
Цитата:
4. Предположим, есть два мувиклипа, и у каждого есть код класса.
Являются ли такие коды одинаково публичными для всего преложения, или код вложенного мувиклипа, как бы "более локален", и обращение к нему должно быть специфическим.
|
Вам следует отказаться от восприятия классов как предтсавление в DisplayObject , хотя безусловно некоторая иерархия имеется. public доступен одинаково везде, но вот устанавливать метод в паблик без необходимости как раз не следует. А вот на счет иерархии, как раз следует организовывать доступ к мелки объектом через более крупного управителя. Можете почитать об этом подробнеепо клбчевым словам "шаблоны проектирования" или "паттерны порграммирования"
PS: Для того что бы понять преимущества кода в классах вам нужно просто попробовать поиспользовать какой-нибдуь другой редаткрор кода кроме FlashIDE: FlashDevelop, FlashBuilder, IntellageIdea ...