Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #71, ОКТЯБРЬ 2006 г.

магические движения

MARKO BELICH

Спецвыпуск: Хакер, номер #071, стр. 071-016-1


СКРИПТОВАНИЕ ПОД ФЛЕШ

FLASH ПРОШЕЛ ДЛИННУЮ ДОРОГУ ОТ ОБЫЧНОЙ ПРОГРАММЫ ДЛЯ СОЗДАНИЯ АНИМИРОВАННЫХ ГИФОВ, ЧЕРЕЗ БАННЕРЫ И НАВИГАЦИЮ ДЛЯ САЙТОВ, ДО МОЩНОЙ ПРОГРАММЫ, КОТОРУЮ ИНОГДА НЕЧЕМ ЗАМЕНИТЬ, ОСОБЕННО ПРИ СОЗДАНИИ МУЛЬТИМЕДИЙНЫХ ПРЕЗЕНТАЦИЙ ИЛИ RIA (RICH INTERNET APPLICATIONS)

Flash — мощная программа, которую можно использовать для разных целей. Почему же тогда на сегодняшний день дизайнеры и программисты не сразу решаются на ее освоение? Наверное, потому, что это специфический гибрид между инструментом для анимации и программным окружением. Дизайнеры используют анимацию и по минимуму скрипты, часто теряясь в огромном количестве movieClip’ов и tween timeline’ов. У программистов, наоборот, основные проблемы возникают с анимацией и структурой флеш-проектов. Золотая середина где-то между.

[процесс работы.]

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

Базовая единица в работе — timeline. Содержание меняется с помощью свойств. Для этого нужно заранее определить, как будет работать анимация и какие визуальные элементы в этом шоу будут участвовать. И уже с учетом этого создается структура movieClip’ов, отделяются подвижные элементы от статичных и т.п. Основная цель — сделать так, чтобы во всем можно было легко разобраться.

Далее следует обратить внимание на регистрационную точку movieClip. Когда работаешь с timeline tween, весь процесс основан на прямом визуальном определении позиций элементов. В случае, когда работаешь с AS tween, все иначе, а самое главное — координата movieClip на timeline. У главного timeline (_root) регистрационная точка находится в верхнем левом углу. Когда создаешь новый movieClip и продвигаешь его на координату x:100, y:100, для всего его контента локальная координата x:0,y:0 будет на самом деле координатой x:100, y:100 на _root. В этом нет ничего особо страшного, но если в процессе работы не обращать внимания не регистрационные точки movieClip, возникнет ситуация, когда локальные координаты клипов вообще не совпадут с теми, которые ты видишь на сцене. Самый лучший подход на практике — создавать все клипы так, чтобы их регистрационные точки совпадали с верхним левым углом главного _root timeline. С таким подходом ты всегда будешь работать с глобальными координатами (то есть с теми, с которыми работаешь визуально).

Последняя, но очень важная вещь, на которую нужно обратить внимание, — сам Actionscript. Рекомендуется его держать «на одном месте». Грамотно сделанный timeline с помощью слоев поможет быстрее разобраться, когда в проекте появится достаточно много контента. Создай отдельный слой (или несколько) для скрипта и отдельно слой для контента, которым будешь управлять. Старайся достаточно комментировать скрипт, с помощью однострочных (//), либо в несколько строк (/* — */) комментариев. В больших скриптах комментарии помогают ориентироваться, искать потенциальные ошибки и делать изменения.

[motion tween во флеше]

состоит из movieClip-объекта (можно использовать и группу), который находится на 2-х (или больше) ключевых кадрах (keyframe) в разных видах. Он может отличаться по атрибутам, месту нахождения, ротации, размеру, цвету и прозрачности. То, что на самом деле делает tween, это вычисления изменений атрибутов movieClip в обычных кадрах, которые лежат между двумя ключевыми кадрами. Проще говоря, это тот же самый movieClip, который меняется с каждым кадром, пока его атрибуты не станут такими, как в последнем кадре. Вся анимация вычисляется в момент экспортирования swf-файла.

Содержание  Вперед на стр. 071-016-2