Файл actionscript animate что это

Обновлено: 06.07.2024

В языке ActionScript анимацию объектов можно запрограммировать с помощью многократного вызова определённых блоков кода или функций.

Как организовать многократный вызов тех или иных фрагментов кода?

Для этого в ActionScript-е имеется несколько стандартных способов. Давайте рассмотрим их более подробно и с примерами.

Но сперва мы создадим заготовку визуального объекта, к которому будем применять программную анимацию. Таким объектом будет MovieClip с очень простым рисунком.

this.createEmptyMovieClip("mc",0); this.mc.beginFill(0x333333,100); this.mc.moveTo(0,0); this.mc.lineTo(150,-10); this.mc.curveTo(180,0,150,10); this.mc._x = 275; this.mc._y = 200;

import flash.display.MovieClip; var mc:MovieClip = new MovieClip(); mc.graphics.beginFill(0x333333,1); mc.graphics.moveTo(0,0); mc.graphics.lineTo(150,-10); mc.graphics.curveTo(180,0,150,10); this.addChild(mc); mc.x = 275; mc.y = 200;

Выше, используя ActionScript 2.0 и ActionScript 3.0, мы нарисовали один и тот же простой рисунок (о методах программного рисования здесь не распространяюсь, так как об этом уже довольно подробно писал в постах «Динамическое рисование» и «Методы динамического рисования в ActionScript 3.0»):

А теперь давайте рассмотрим способы программной анимации, применяемые в AS 2.0/3.0:

1.) Язык ActionScript 2.0

а.) событие onEnterFrame

Событие onEnterFrame связано с плановым обновлением экрана ("смена кадров") и частота его возникновения зависит от частоты смены кадров, установленной в данном флеш-ролике.

Вот пример, в котором событие onEnterFrame используется для вращения созданного ранее мувиклипа.

this.createEmptyMovieClip("mc",0); this.mc.beginFill(0x333333,100); this.mc.moveTo(0,0); this.mc.lineTo(150,-10); this.mc.curveTo(180,0,150,10); this.mc._x = 275; this.mc._y = 200; onEnterFrame = function()

При частоте смены кадров 32 приведённый выше код даст следующую картинку:

б.) метод seInterval

Метод setInterval используется для периодического вызова какой-либо функции.

createEmptyMovieClip("mc",0); mc.beginFill(0x333333,100); mc.moveTo(0,0); mc.lineTo(150,-10); mc.curveTo(180,0,150,10); mc._x = 275; mc._y = 200; function anim() < mc._rotation += 45; >setInterval(anim,500);

В данном примере мы каждые 500 миллисекунд вызываем функцию anim, которая поворачивает мувик mc на 45 градусов:

2.) Язык ActionScript 3.0

Оба способа, используемые для программной анимации в ActionScript 2.0, применяются и в языке ActionScript 3.0.

а.) событие onEnterFrame

import flash.display.MovieClip; import flash.events.Event; var mc:MovieClip = new MovieClip(); mc.graphics.beginFill(0x333333,1); mc.graphics.moveTo(0,0); mc.graphics.lineTo(150,-10); mc.graphics.curveTo(180,0,150,10); this.addChild(mc); mc.x = 275; mc.y = 200; addEventListener(Event.ENTER_FRAME, onEnterFrames); function onEnterFrames(event:Event):void

б.) метод seInterval

import flash.display.MovieClip; var mc:MovieClip = new MovieClip(); mc.graphics.beginFill(0x333333,1); mc.graphics.moveTo(0,0); mc.graphics.lineTo(150,-10); mc.graphics.curveTo(180,0,150,10); this.addChild(mc); mc.x = 275; mc.y = 200; function anim() < mc.rotation += 45; >setInterval(anim,500);

Но в ActionScript 3.0 есть ещё один способ запрограммировать анимацию - это использование класса Timer. Класс Timer предназначен для выполнения кода AS 3.0 через установленные промежутки времени (промежутки времени задаются в миллисекундах). В самом простом случае Timer-анимация будет выглядеть следующим образом.

import flash.display.MovieClip; import flash.utils.Timer; import flash.events.TimerEvent; var mc:MovieClip = new MovieClip(); mc.graphics.beginFill(0x333333,1); mc.graphics.moveTo(0,0); mc.graphics.lineTo(150,-10); mc.graphics.curveTo(180,0,150,10); this.addChild(mc); mc.x = 275; mc.y = 200; /* создаём объект Timer и в качестве параметра указываем периодичность вызова функции (в миллисекундах) */ var timer:Timer = new Timer(100); /* ловим событие TimerEvent.TIMER и при наступлении события запускаем функцию anim */ timer.addEventListener(TimerEvent.TIMER, anim); /* функция, периодически запускаемая таймером */ function anim(event:TimerEvent):void < mc.rotation += 5; >/* запускаем таймер */ timer.start();

Выше приведён очень примитивный пример использование Timer-а. Дело в том, что у этого класса есть несколько чрезвычайно полезных свойств и методов, которые превращают Timer в мощнейший и удобнейший способ программной анимации. Впрочем, об этом в отдельном посте. А на сегодня у меня всё.

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

Установка параметров автоформата

В меню панели (в правой верхней части панели «Действия») выберите «Настройки».

В окне «Сценарий» выберите «Правка» > «Настройки» (Windows) или «Animate» > «Настройки» (Macintosh).

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

Форматирование кода в соответствии с настройками автоформата

  • Выберите инструмент «Автоформат» на панели «Действия» или в окне «Сценарий».
  • В меню панели (в правой верхней части панели «Действия») выберите «Автоформат».
  • Нажмите клавиши «Control» + «Shift» + «F» (Windows) или «Command» + «Shift» + «F» (Macintosh).
  • В окне «Сценарий» выберите «Инструменты > Автоформат».

Использовать динамическую подстановку шрифтов

Для включения или отключения динамической подстановки шрифтов установите или снимите флажок «Использовать динамическую подстановку шрифтов» в диалоговом окне «Настройки».

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

Использование автоотступа

Чтобы включить или отключить автоотступ, установите или снимите флажок «Автоматические отступы» в диалоговом окне «Настройки».

В сценарии можно установить отступ строки, выбрав ее и нажав клавишу «Tab». Для удаления отступа выберите строку и нажмите клавиши «Shift» + «Tab».

Комментарии кода — это фрагменты кода, которые игнорируются компилятором языка ActionScript. Строка комментария объясняет, какие действия выполняет код, или временно отключает код, который не нужно удалять. Строка комментария начинается с двойной косой черты (//). Компилятор игнорирует весь текст в этой строке, идущий за двойной косой чертой. Можно также закомментировать блок кода, поместив косую черту со звездочкой (/*) в начале блока и звездочку с косой чертой (*/) в его конце.

Маркеры комментариев можно вводить вручную или с помощью кнопок в верхней части панели «Действия» или окна «Сценарий».

Комментирование строки кода

Поместите курсор вставки в начало строки или перед символом, где должен начинаться комментарий. Щелкните правой кнопкой мыши и выберите «Комментировать». Также можно использовать комбинации клавиш Ctrl + M (Windows) или Command + M, либо пункт меню «Правка» > «Комментировать выделенный фрагмент».

Под курсором вставки появится двойная косая черта (//).

Комментирование нескольких строк кода

Выделите строки, которые необходимо закомментировать. (Первую и последнюю строку можно закомментировать не полностью.) Щелкните правой кнопкой мыши и выберите «Комментировать». Также можно использовать комбинации клавиш Ctrl + M (Windows) или Command + M, либо пункт меню «Правка» > «Комментировать выделенный фрагмент».

Символы блока комментариев появятся в начале (/*) и конце (*/) выделенных строк.

Если среди выделенных строк текста уже присутствуют комментарии, то каждая строка будет закомментирована по отдельности.

Удаление комментария

Поместите курсор вставки в строку, которая содержит комментарий, или выделите закомментированный блок кода. Щелкните правой кнопкой мыши и выберите «Удалить комментарий». Также можно использовать комбинации клавиш Ctrl + Shift + M (Windows) или Command + Shift + M либо пункт меню «Правка» > «Удалить комментарий выделенного фрагмента».

В ActionScript, как и в любом другом языке, синтаксис — это способ объединения элементов языка и придания им значения. При неверном синтаксисе ActionScript сценарий не будет работать.

Для цветовой подсветки синтаксических ошибок установите цветомаркировку для различных составляющих сценария. Допустим, для ключевых слов установлена синяя цветомаркировка. В этом случае при вводе var слово var отображается синим цветом. Однако если по ошибке напечатать vae , слово vae останется черным, и это указывает на ошибку ввода.

Выполните одно из следующих действий.

Выберите «Правка» > «Настройки» (Windows) или «Animate» > «Настройки» (Macintosh), нажмите «Редактор кода» в списке «Категория» и задайте параметры цветовой маркировки синтаксиса.

Установите курсор вставки на панели «Сценарий» и нажмите клавиши «Control» + «U» (Windows) или «Command» + «U» (Macintosh).

При создании сценариев на панели «Действия» команды, не поддерживаемые версией проигрывателя, для которого предназначен сценарий, отображаются на панели инструментов «Действия» желтым цветом. Например, если для SWF-файла Flash Player задана версия Flash 7, желтым цветом на панели инструментов «Действия» будут выделены элементы языка ActionScript, которые поддерживаются только в версии Flash Player 8.

При запуске Animate списки ключевых слов и идентификаторов считываются из файла ресурсов и кэшируются. Помимо списков по умолчанию, входящих в состав ресурса, программа также ищет дополнительные списки ключевых слов и идентификаторов в папке пользовательских настроек. Эти дополнительные списки можно добавить в виде файлов .txt в следующие папки:

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

Включение и отключение номеров строк

  • В окне «Сценарий» выберите «Просмотр» > «Номера строк».
  • Нажмите клавиши «Control» + «Shift» + «L» (Windows) или «Command» + «Shift» + «L» (Macintosh).

Подсветка одиночной строки

  • В окне «Сценарий» выберите «Правка > «Перейти к строке».

Включение и отключение переноса слов

  • В окне «Сценарий» выберите «Просмотр» > «Перенос слов».
  • Нажмите клавиши «Control» + «Shift» + «W» (Windows) или «Command» + «Shift» + «W» (Macintosh).

В коде ActionScript скрыты такие символы, как пробел, табуляция и разрыв строки. Эти символы могут отображаться, например, если нужно найти двухбайтовые пробелы, не являющиеся частью строкового значения, потому что они вызывают ошибки компиляции.

Нажмите клавиши «Control» + «Shift» + «8» (Windows) или «Command» + «Shift» + «8» (Macintosh).

Для отображения скрытых символов используются следующие знаки.



Инструмент «Найти» позволяет искать и заменять текстовые строки в сценариях.

Чтобы выполнить поиск по всему тексту в каждом сценарии документа Animate, используется панель «Обзор ролика».

Поиск текста

На панели «Действия» или в окне «Сценарий» нажмите «Найти» или нажмите клавиши «Control» + «F» (Windows) либо «Command» + «F» (Macintosh).

Поиск и замена текста в сценарии

На панели «Действия» или в окне «Сценарий» нажмите «Найти» или нажмите клавиши «Control» + «F» (Windows) либо «Command» + «F» (Macintosh). Чтобы заменить строку, нажмите кнопку «Заменить», чтобы заменить все вхождения этой строки, нажмите кнопку «Заменить все».

(Не поддерживается в Animate.) Повтор поиска в панели «Действия»

В меню панели (в правой верхней части панели «Действия») выберите «Повторить поиск».

(Не поддерживается в Animate.) Повтор поиска в окне «Сценарий»

Можно выполнить быструю проверку кода ActionScript, не публикуя FLA-файл.

При проверке синтаксиса проверяется текущий сценарий. Если текущий сценарий вызывает классы ActionScript, они также проверяются. Другие сценарии, которые могут присутствовать в FLA-файле, не проверяются.

Для файлов ActionScript 2.0 проверка синтаксиса выполняет код через компилятор, создавая ошибки синтаксиса и компилятора.

Для файлов ActionScript 3.0 проверка синтаксиса создает только ошибки синтаксиса. Чтобы получить ошибки компилятора, такие как несоответствия типов, возврат неверных значений, ошибки в именах переменных или методов, необходимо использовать команду «Управление» > «Тест».

Проверка синтаксиса

Чтобы проверить синтаксис, выполните одно из следующих действий.

  • На панели «Действия» или в окне «Сценарий» нажмите «Проверить синтаксис» .
  • Щелкните мышью в поле «Сценарий» и нажмите клавиши «Control» + «T» (Windows) или «Command» + «T» (Macintosh). При щелчке или вводе текста на панели «Сценарий» на нее переводится фокус. Если фокус установлен на объекте в рабочей области, открывается панель «Преобразование».

Список синтаксических ошибок приводится на панели «Ошибки компиляции».

Во внешнем файле классов ActionScript в окне «Сценарий» глобальный путь к классам (AS2) или исходный путь (AS3) влияет на проверку синтаксиса. Даже если глобальный путь к классам установлен правильно, могут возникнуть ошибки, поскольку компилятору неизвестно, что компилируется именно этот класс.

Проверка симметричности пунктуации

Щелкните мышью в сценарии между фигурными скобками <>, квадратными [] или простыми (). В Windows нажмите клавиши «Control» + ' (одинарная кавычка), в Macintosh — Command + ' (одинарная кавычка). Текст внутри скобок будет подсвечен, и можно будет проверить парность открывающей и закрывающей скобок.

Сценарий можно импортировать на панель «Действия» или окно «Сценарий». Из панели «Действия» сценарии также можно экспортировать во внешние файлы ActionScript. (При работе в окне «Сценарий» экспорт не нужен, поскольку можно просто сохранить AS-файл.)

Если при открытии или импорте файла текст сценария выглядит не так, как ожидалось, измените настройки кодировки при импорте.

Импорт внешнего AS-файла

На панели «Сценарий» установите курсор вставки там, где нужно разместить первую строку внешнего сценария.

На панели «Действия» выберите «Импортировать сценарий» в меню панели или нажмите клавиши «Control» + «Shift» + «I» (Windows) либо «Command» + «Shift» + «I» (Macintosh).

В окне «Сценарий» выберите «Файл» > «Импортировать сценарий» или нажмите клавиши «Control» + «Shift» + «I» (Windows) либо «Command» + «Shift» + «I» (Macintosh).

Экспорт сценария из панели «Действия»

Выберите сценарий, который нужно экспортировать. Затем на панели «Действия» выберите «Экспортировать сценарий» в меню панели или нажмите клавиши «Control» + «Shift» + «X» (Windows) либо «Command» + «Shift» + «X» (Macintosh).

Установка параметров кодировки текста

Выберите «Правка» > «Настройки» (Windows) или «Animate» > «Настройки» (Macintosh) и нажмите «ActionScript» в списке «Категория».

Выберите кодировку UTF-8 для открытия и импорта с помощью кодировки Юникода или выберите «Кодировка по умолчанию» для открытия и импорта с помощью кодировки, которую использует система.

Выберите кодировку UTF-8 для сохранения и экспорта с помощью кодировки Юникода или выберите «Кодировка по умолчанию» для сохранения и экспорта с помощью кодировки языка, которую использует система.

Включение и отключение предупреждения о кодировке при экспорте

Выберите «Правка» > «Настройки» (Windows) или «Animate» > «Настройки» (Macintosh) и нажмите «Предупреждения» в списке «Категория».

Установите или снимите флажок «Предупреждать о конфликтах кодировки при экспорте файлов ActionScript».

При использовании локализованных приложений в системе с английским языком команда «Тестировать ролик» возвращает ошибку, если в пути доступа к SWF-файлу встречаются символы, которые нельзя представить в схеме кодировки многобайтовых наборов символов (MBCS). Например, пути доступа, представленные на японском языке и работающие в японских системах, не будут работать в системах на английском языке. В английских системах необходимо использовать пути доступа только на английском языке. Это ограничение применяется ко всем элементам приложений, использующим проигрыватель Test Movie.

Используйте функцию «Закрепить сценарий» для закрепления вкладок отдельных сценариев на панели «Сценарий» и их перемещения по ней. Эта функция полезна, если код файла FLA не упорядочен относительно одного централизованного местоположения или используется несколько сценариев.

Можно закрепить сценарий, чтобы оставить открытым расположение кода на панели «Действия» и переключаться между несколькими открытыми сценариями. Это особенно полезно при отладке.

Можно отменить закрепление одного или всех сценариев, чтобы открепить выделенный сценарий или все сценарии на панели «Действия».

На следующем рисунке сценарий, связанный с текущим местоположением на временной шкале, находится на кадре 1 слоя с именем Cleanup. (Крайняя слева вкладка всегда соответствует местоположению на временной шкале.) Этот сценарий закреплен (показано на крайней правой вкладке). Следующие два сценария закреплены.

Между закрепленными сценариями можно перемещаться, нажимая на нужные вкладки или используя комбинации клавиш. Перемещение от одного закрепленного сценария к другому не изменяет текущее положение на временной шкале. Если в навигаторе сценариев действий выбран новый сценарий, фокус смещается на первый кадр, например кадр 1.

Если содержимое поля «Сценарий» не меняется при перемещении по временной шкале, в поле «Сценарий», вероятно, отображается закрепленный сценарий. Щелкните текущий кадр в верхней левой части панели «Сценарий», чтобы отобразить сценарий, связанный с местоположением на временной шкале.


Закрепленный сценарий

Изучая уроки ActionScript Вы пройдете путь от создания файла во Flash до производства по-настоящему интерактивных фильмов. Это значит, что Ваши пользователи смогут взаимодействовать с ними, вызывая немедленное изменение во флеш-ролике. Например, пользователь может запустить воспроизведение другого фильма или перейти на другую веб-страницу. Вы можете заставить фильм остановиться тогда, когда он достигнет определенного кадра. Интерактивность очень разнообразна. Она может реализовываться как через простое нажатие кнопки или клавиши, так и через создание сложноустроенных веб-сайтов или видео-игр online.

Что такое ActionScript?

ActionScript – это объектно-ориентированный язык программирования, в основе которого лежит программный код. Код – это инструкции, которые говорят Flash что нужно делать. Инструкции ActionScript записываются на языке программирования ActionScript. Когда Вы записываете несколько инструкций подряд, Вы создаете программный код. Вы можете управлять частями Вашего кода, вводя определенные параметры. Например, Вы даете команду Flash найти определенный кадр и начать воспроизведение фильма. Программируя это действие, Вы вводите нужный параметр для него, точно определяя необходимый кадр.

В ActionScript Вы можете писать инструкции, которые заставят Flash реагировать на нажатие пользователем кнопки мыши или клавиши во время просмотра фильма или запросить определенную информацию от пользователя и, затем, отреагировать на нее. Также, Вы можете использовать ActionScript для анимации объектов в Вашем фильме, а, написав необходимые инструкции, создавать сложные интерактивные элементы.

Версии ActionScript

Как flash-разработчик, Вы можете выбирать, с какой версией ActionScript работать: с 1.0, 2.0 или 3.0. Самая новая и продвинутая из них – ActionScript 3. Она была специально разработана для того, чтобы удовлетворять растущие нужды постоянно развивающегося и меняющегося интернет. ActionScript 3 базируется на ESMAScript, который основан на том же стандарте, что JavaScript и быстрее всего осваивается пользователями, которые уже знакомы с объектно-ориентированным программированием. AS3 более производителен, чем ранние версии этого языка и позволяет разработчикам создавать очень сложные по своей структуре приложения.

ActionScript 2.0 проще чем 3.0 и медленнее обрабатывается Flash Player'ом. ActionScript 1.0. Это – первая, самая простая, версия языка, и сегодня она практически не используется при создании новых приложений. Flash Player'ы 9 и 10 поддерживают все три версии языка ActionScript.

Из-за большей производительности и улучшенной функциональности в моих уроках будет рассматриваться только ActionScript 3, поэтому, для того, чтобы воспроизводить те фильмы, которые мы будем создавать на протяжении этого курса и всех последующих, Вам необходимо установить Flash Player 9 или более поздние версии.

Использование ActionScript во Flash

Запись программного кода может производиться как в отдельный текстовый файл, так и непосредственно в нужный кадр (или кадры) Вашего фильма. Хорошей практикой считается создание отдельного слоя в фильме специально для ActionScript. Вы должны записывать весь Ваш код в первый кадр на этом слое. После создания такого слоя Вы можете открыть Панель Actions (код) и приступить к записи инструкций. Большинство разработчиков делают этот слой самым верхним на Timeline (Шкала времени) для удобства в работе.

В панели Actions Вы можете добавлять инструкции (ActionScript переменные и пр.) для управления воспроизведением Вашего фильма. Эта панель включает в себя:

  • текстовый редактор для ввода и редактирования кода
  • набор часто используемых инструкций
  • навигатор для просмотра созданного кода

Кроме того, в этой панели реализован режим Script Assist. С его помощью можно добавлять нужное даже без особой подготовки и знаний в программировании. Для опытных же программистов предусмотрена специальная среда разработки, в которой есть возможность записывать весь код не во flash-файле, а в отдельном файле, для которого выделяется специальное окно. В этом окне Вы сможете записывать не только ActionScript, но и Flash Communication и файлы Flash JavaScript. Для поиска дополнительной информации о работе в Script window пользуйтесь Помощью (Help) во Flash.

Если на Вашем flash-сайте или во flash-игре понадобятся такие интерактивные элементы как формы, поля ввода текста и радио-кнопки, то для этого удобно использовать компоненты. Компонент – это готовый кусок кода, заранее написанный создателями Flash. Так как это часто используемые элементы, то имеет смысл пользоваться уже готовым кодом, лишь слегка его изменив там, где это нужно. Компоненты доступны в ActionScript 3 и 2.

Редакторы ActionScript

В моих уроках для демонстрации работы с ActionScript 3 я буду пользоваться исключительно Adobe Flash CS5 Professional. Однако существуют и другие программы для создания и редактирования файлов ActionScript 3, в том числе и бесплатные.

Для того, чтобы добавить код непосредственно в Ваш flash-фильм, Вы должны использовать либо Adobe Flash Professional CC, либо более ранние версии этой программы: CS3, CS4, CS5 или CS6. Однако, случаются такие ситуации, и мы будем часто с ними сталкиваться на протяжении этого курса, когда Вам придется записывать ActionScript в отдельный файл. Поскольку программный код записывается исключительно в текстовом формате, то для этих целей можно использовать простой текстовый редактор, такой как Notepad. Тем не менее, этот подход имеет ряд недостатков:

  • отсутствует подсветка кода, что затрудняет чтение инструкций (синтаксис Actionscript)
  • отсутствует опция автоматического завершения строки, что уменьшает производительность в работе.

На момент создания этого урока Adobe распространяет две программы, поддерживающие ActionScript 3.0 и обеспечивающие профессиональную среду разработки flash-приложений: Dreamweaver и Flash Builder.

В Dreamweaver Вы сможете создавать отдельные файлы ActionScript 3 и Вам будет обеспечена подсветка кода и автоматическое завершение строки, правда, в ограниченном варианте.

Flash Builder – гораздо более продвинутая программа по работе с ActionScript ООП, в сравнении с Dreamweaver. Она предлагает мощную интегрированную среду разработки, которая в некоторых аспектах превосходит Flash Professional.

Так уж принято, что первым приложением на любом языке программирования пишут, так называемый, «Hello, world!». Мы не будем отходить от традиций, хотя уже и написали такое приложение в качестве тестового примера в рамках статьи Разработка Flash-игр. Подготовка рабочего места. Но, на сей раз мы продвинемся немного дальше. Мы не просто напишем в окне заветные слова, но и рассмотрим вкратце работу с шрифтами и трансформацию объектов.

Примечание: Я сам только изучаю AS3, а потому лишь делюсь своими «открытиями», простыми словами.

Итак, понеслась…

Создаем новый проект совершенно аналогично тому, как было рассказано в выше упомянутой статье. Назовем новый проект "HelloWorld".

Я специально использую слитное написание без пробелов и знаков препинания в названиях проектов затем, чтобы было проще публиковать готовые приложения в сети интернет, т.к. там пробелы и другие знаки в ссылках на объекты заменяются на их кодовые числа, например, пробел — это "%20" и т.п. Подобного рода абра-кадабра только мешает и может потребовать переименования файла при его размещении на сервере или другие действия. Я же привык делать сразу так, чтобы потом не суетиться.

Теперь решим, что мы будем отображать в окне. Я решил написать: "Hello, world! Это приложение разработано при помощи FlashDevelop". Разбить эту реплику на несколько строк и каждую строку отформатировать задав ей собственный стиль начертания, цвет и шрифт.

Поскольку мы будем писать слова, то нам надо будет работать с объектами типа TextField.
К слову говоря, надо помнить о том, что во Flash-приложениях все, что необходимо отображать в окне — это объекты. А, следовательно, чтобы объекты отображались, должен быть примерно следующий порядок:

  • Объявление переменной объекта
  • Инициализация объекта (его создание)
  • Возможно взаимодействие с другими объектами при подготовке
  • Добавление объекта к stage

Ну это так, к слову, чтоб вы знали… А пока не будем на этом заморачиваться и двинем дальше.

В шаблоне приложения (файл main.as) в классе public class Main extends Sprite в самом его начале (т.е. до функции Main() ) напишем наши переменные текстовых полей:


И добавим переменную формата текста:


Переменные объявлены, можно переходить к созданию объектов.

Внутри функции private function init(. ) сразу после строчки removeEventListener(. ) начинаем писать наш код.

Создадим объект первого текстового поля:


Объект создан и теперь можно задать ему параметры, такие как: положение в окне, размер и, конечно же, текст:


После задания параметров можно отформатировать текст:


TextFormat на самом деле имеет гораздо больше вводных переменных, но можно использовать лишь те, которые должны отличаться от устанавливаемых значений по умолчанию. Так, в нашем случае мы установили шрифт Arial размером 20 пт., черным цветом и полужирным начертанием.

Чтобы было понятнее, расскажу кратенько о синтаксисе TextFormat:

tf = TextFormat( font, size, color, bold, italic, underline );

font — название шрифта, например: «Arial Black», «Times New Roman». Все их названия можно посмотреть в текстовом редакторе. Главное помнить, что не все шрифты из тех, что имеются у вас, окажутся у конечного пользователя. Чтобы не случилось того, что ваше приложение «косо» отобразиться на девайсах ваших друзей, когда надумаете похвастаться созданным вами шедевром, советую посмотреть такую вот таблицу шрифтов: Список стандартных шрифтов Windows. Если же задумаетесь о качественном совмещение с другими ОС — google с соответствующим запросом вам в помощь.

size — размер шрифта в пунктах.

bold — полужирное начертание (true). По умолчанию false — обычное.

italic — курсив (наклон) (true). По умолчанию false — без наклона.

underline — подчеркивание (true). По умолчанию false — обычное.

Это не весь список передаваемых значений, которые имеются в структуре TextFormat. Я перечислил лишь самые нужные, они-то как раз и выведены вперед списка. Отсортированы переменные в порядке релевантности по частоте использования, и те из них, которые не требуется изменять, можно опускать.

Например, если нам необходимо указать только имя шрифта и размер, то остальные значения можно не указывать:

Но! Если вам нет нужды менять другие параметры, но при этом сделать шрифт подчеркнутым, то придется пройти по всем значениям, указывая каждый из них. Либо можно так:


Иначе говоря, все экземпляры класса TextFormat доступны после точки. И можно создавать пустой текстовый формат:, а уже потом обращаться к экземплярам, указывая их значения.

Теперь нам осталось применить текстовый формат к текстовому полю и добавить текстовое поле к stage, чтобы оно стало видимым:


Это весь цикл добавления текстового поля в окно приложения. Сделаем тоже самое для всех остальных полей, указывая для каждого из них свои значения:


Отлично! Теперь, если вы запустите приложение (F5), то увидите результаты трудов:

image

И так, работу с текстовыми полями и текстовыми форматами мы рассмотрели. Переходим к трансформациям…

Трансформации в AS3 представлены довольно широко. Оно и понятно… Годами отточено.

Всего разом не рассмотришь, а потому поговорим лишь о той трансформации, которая нам нужна в данной статье — это rotation (повороты).

Данная трансформация имеет в постфиксе имени букву оси, относительно (вокруг) которой будет происходить вращение. Т.е. их три:

  • rotationX
  • rotationY
  • rotationZ

Все углы считаются в градусах. Поставим предварительные значения для наших текстовых полей:


Как вы заметили, каждое следующее поле у меня повернуто на 30 градусов больше прежнего. Это сделано для не синхронного вращения полей.

А сейчас снова вернемся к «видимости» полей…

Все поля добавлены к stage, а, следовательно, все они отображаются. Но нам нужно, чтобы «перевертыши» не показывались до тех пор, пока не будут повернуты «лицом».

В AS3 за видимость отвечает переменная visible. Если ее значение равно true, то объект видимый, а если false, то невидимый.

Сделаем все наши поля кроме первого (оно уже правильно ориентировано) изначально невидимыми:


Прекрасно. Сцена подготовлена. Теперь нам необходимо ее «оживить». Для этого нам необходимо добавить слушатель смены кадров:


Этот слушатель работает очень просто: каждый раз, когда готовится смена кадра ENTER_FRAME, будет вызываться наша функция, которую мы назвали MyRender.

Напишем эту функцию следом за функцией init().


Каждый кадр будем поворачивать текстовые поля с шагом 5 градусов до тех пор, пока они не повернутся полностью, т.е. до 0 градусов:


И позаботимся о том, чтобы в момент, когда текстовое поле повернуто на 90 градусов, оно становилось видимым:


Отлично. Мы всё сделали. Можно жать F5 и наслаждаться результатом.

Последнее, чем можно побаловаться, это «подогнать» приложение под требуемые параметры. Зайдем в свойства проекта Project->Properties:

image

Пройдя по указанному меню откроется окно свойств проекта:

image

Здесь нам понадобятся поля группы General:

Dimensions — оригинальные размеры окна. Дело в том, что на веб страницах приложение может быть масштабировано, НО! Пропорциональность масштабирования будет зависеть именно от указанных значений данного поля. Указывается в пикселях (точках).

Background color — цвет фона. Без комментариев…

Framerate — Частота смены кадра. Именно от этого значения зависят: а) плавность анимации; и б) нагрузка на систему и, как следствие, тормоза на слабых ПК. Я бы не советовал ставить значение более 30. И вообще, считаю, что 15 в подавляющем большинстве случаев более чем достаточно.

Готовый пример можно посмотреть здесь. Там же есть ссылка на загрузку исходников примера.

Читайте также: