Как найти свой путь в существующей Flash-презентации - PullRequest
4 голосов
/ 07 января 2009

Я немного занимался программированием Flash и Flex в AS2 и AS3 (ну, Flex только в AS3 :). <самоопределение> Я заставил эти платформы делать именно то, что я хочу. Я построил компоненты Flash и создал инфраструктуру MVC во Flex и т. Д. </ Self-definition>

Если вы передадите мне приложение Flex, которое я никогда не видел, и скажете: «внесите эти изменения», я знаю, с чего начать понимание приложения: от тега приложения вниз. Возможно, он где-то взаимодействует с сервером, с некоторыми обратными вызовами и т. Д. Или взаимодействует с каркасом.

Если вы дадите мне Java-приложение, я могу сделать то же самое: перейти от внешнего интерфейса к заднему, или, возможно, вернуться назад через вызовы методов.

Но если вы дадите мне Flash-приложение, я потерял весь первый час, пока я пытаюсь догадаться, почему оно работает так, как работает ... и если оно не скомпилируется, я думаю, что я потерялся бы навсегда , Это связано с MC, встроенными в MC (некоторые из них скрыты! Замечательно!), А не столько с кодом. Затем код распределяется по всем различным фреймам, сценам и т. Д., Чтобы определить, когда срабатывает только оригинальный разработчик.

Когда я делаю чистый Flash, я делаю все в компонентах и ​​использую очень плоскую структуру, но это другая история. У меня вопрос к Flash-презентациям, которые я получаю:

Как вы начинаете понимать существующую презентацию Flash, когда получаете ее? Что вы ищете в первую очередь и т. Д.? Есть ли у вас какие-либо советы о том, как понять презентацию Flash, которую вы видите впервые?

1 Ответ

3 голосов
/ 07 января 2009

Что ж, если вы получите FLA, первое, что я сделаю, - это попробую разобраться с общей структурой приложения, и это начнется с просмотра основной (корневой) временной шкалы. Если он выглядит пустым или не имеет ничего, кроме ActionScript, то очевидно, что дело в коде - читайте этот скрипт или ищите класс документа и предполагайте, что библиотека является просто хранилищем компонентов.

Если корневая временная шкала заполнена, то, как правило, это либо анимация некоторого вида, предназначенная для воспроизведения, либо система управления состояниями, в которой приложение перемещается от кадра к кадру при изменении состояний отображения. Если это анимация, то это обычно просто, но вам нужно выяснить, играет ли она прямо или прыгает (ищите метки кадров), и особенно то, что происходит после ее завершения. Если корневая временная шкала является конечным автоматом, то вы выключены и работаете - вы обычно можете предположить, что каждый важный кадр (часто они имеют метки) иерархически равны, и исследовать их более или менее отдельно. Также обратите внимание на контент, который по сути является конечным автоматом, но с переходной анимацией между состояниями.

Теперь, с учетом сказанного, по-настоящему мощная, но запутанная вещь в Flash Authoring заключается в том, что каждый раз, когда вы заглядываете внутрь фрагмента ролика, вам приходится повторять два абзаца и начинать процесс заново, потому что этот MC сам может быть компонентом или машиной состояния отображения или анимацией. Когда вы смотрите на кучу видеоклипов, вы никогда не знаете, в каких из них есть тривиальная графика, а в каких много сложностей. Таким образом, вы разделяете и побеждаете - для каждого данного клипа выясните, что в нем содержится всех нетривиальных вещей, а затем выясните, что делает каждый из них.

Более случайные советы:

  • Научитесь использовать проводник фильмов (alt + F3 на ПК), чтобы определить, какие клипы содержат actioncript. Вероятно, вы увидите множество тривиальных команд «стоп», разбросанных вокруг, но если есть большие куски, которые содержат логику, вы хотите выяснить, что они делают, и где они находятся в иерархии объектов.
  • Если вы обнаружите какие-либо сценарии, прикрепленные к видеоклипам, приготовьтесь к праведной битве - вас не ждет хорошее время. К счастью, это не разрешено в AS3.
  • Когда много вещей перемешано, попробуйте развернуть все папки на временной шкале и, просматривая их, включать и выключать видимость, чтобы понять, что и где. Библиотека может быть в замешательстве, но по крайней мере на временной шкале активы должны быть наслоены в том же порядке, в котором они визуально перекрываются, и это часто дает вам подсказки. Разумно организуйте их в папки, если оригинальный дизайнер этого не сделал.
  • Также неплохо время от времени делать «выбор всех», чтобы понять, какие вещи являются отдельными объектами, и есть ли какие-то невидимые активы. Пустые клипы или клипы с пустым фрагментом в первом кадре всегда отображаются в виде маленького белого кружка, но клипы с альфа-значением 0 вообще не отображаются, если вы не выбрали их или не включили режим контура (маленькая цветная кнопка на каждом слой временной шкалы).
  • Когда вы видите маленький белый кружок, отмечающий пустой клип, обязательно проверьте его. Это может быть контейнер для загрузки контента, или клип с графическими активами, но не в первом кадре, или даже маркер, к которому будет выровнен другой контент. Но вы можете поспорить, что он скрывает от вас некоторую сложность.
  • Если когда-либо кажется, что на корневой шкале времени меньше, чем должно быть, просто для ударов откройте панель «Сцена». Некоторые дизайнеры сходят с ума по этому поводу.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...