Показать сообщение отдельно
Старый 08.04.2013, 11:20
Александр Мостовой вне форума Посмотреть профиль Отправить личное сообщение для Александр Мостовой Посетить домашнюю страницу Александр Мостовой Найти все сообщения от Александр Мостовой
  № 2  
Ответить с цитированием
Александр Мостовой
 
Аватар для Александр Мостовой

Регистрация: Sep 2001
Адрес: Харьков
Сообщений: 305
Отправить сообщение для Александр Мостовой с помощью ICQ Отправить сообщение для Александр Мостовой с помощью Skype™
Цитата:
1. Каковы отличия кода мувиклипа, находящегося внутри его таймлайна, от кода, который находится в классе этого мувиклипа? (получаемого по Properties > Export for Action Script, насколько я понимаю, других способов создания класса мувиклипа нет). Я конешно подозреваю, что второй путь более правильный, но почему это так обьяснить не смогу.
Для кода в таймлайне флеш создает свои виртуальные классы. Для кода в фреймах вы не можете реализовать все преимузества ООП: закрыть доступ для того что не нужно, наследование. Отнаследовав разнве класса от общего абстрактного родителя вы можете легко менять свойста общие для групы клипов

Цитата:
2 Может ли быть так, что на практике оптимальнее всего использовать связку "код класса" + "код таймлайна".
Как сказал выше, если вы используете код на фрейме, флеш создаст виртуальный класс, т.е. вы не сможет сделать это одновременно. Когда весь код в классах навигация по коду в 20 раз легче. В большинстве случев и tween ради которых во многом и пишется код во фреймах проще заменить програмной анимацие.
В тоже время в самом IDE удобно расставлять элементы, особенно для случая с играми. Вот здесь как раз имеет большой смысл использовать графику на сцене.

Цитата:
3. Является ли код класса мувиклипа таким же глобальным как и код класса DocumentClass всего флэш-проекта?
Является ли такой код просто "удобным размещением в отдельном месте" (то есть он с таким же успехом мог бы находится и в DocumentClass.)
Глобальных методов в AS3 практически нет, как уже отписал в другой теме. DocumentClass и класс мувиклипа равнозначны за исключением что один создал другой. Доступ отовсюду ко всему - это недостаток, а не преимущество. ПРеимущество инкапсуляции (термин обозначающий ограничение области видимости) в том что открывая код класса в не решаете исполинские задачи, а отслеживаете только ту логику которая находится в этом классе

Цитата:
4. Предположим, есть два мувиклипа, и у каждого есть код класса.
Являются ли такие коды одинаково публичными для всего преложения, или код вложенного мувиклипа, как бы "более локален", и обращение к нему должно быть специфическим.
Вам следует отказаться от восприятия классов как предтсавление в DisplayObject , хотя безусловно некоторая иерархия имеется. public доступен одинаково везде, но вот устанавливать метод в паблик без необходимости как раз не следует. А вот на счет иерархии, как раз следует организовывать доступ к мелки объектом через более крупного управителя. Можете почитать об этом подробнеепо клбчевым словам "шаблоны проектирования" или "паттерны порграммирования"


PS: Для того что бы понять преимущества кода в классах вам нужно просто попробовать поиспользовать какой-нибдуь другой редаткрор кода кроме FlashIDE: FlashDevelop, FlashBuilder, IntellageIdea ...
__________________
...