Знакомимся с Flash

Эта статья рассчитана на новичков, которые работали с Pascal, Basic или любым другим языком программирования в школе. Здесь я расскажу о Flash, что нам понадобится для удобного программирования для Adobe Flash Player.

Итак, что нам понадобится?

Нам понадобится программа Adobe Flash Professional(CS4+).

Для программирования во Flash используется скриптовый и даже объектно-ориентированный язык ActionScript3.0.

Наверняка уже знакомы с вводом/выводом текста в учебных языках программирования.

Например, чтобы вывести текст в консоли Делфи, необходимо выполнить функцию writeln()/write().

Ну хорошо. Приступим к Flash.

В среде разработки Flash есть такая вещь, как консоль Output/Вывод.

Если у вас нет её, то её можно открыть, нажав "Окно" на панели меню.

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

Что это за консоль? Эта консоль не видна в браузере и не видна при открытии Adobe Flash Player, она видна только разработчикам, и используется для отладки приложений(когда неясно, в чём проблема - трейсим результат в неё).

Чтобы вывести в неё текст/число, нам необходимо открыть панель Действия(Actions), и там написать trace("Hello, world!");

После этого сохраним проэкт и нажмём Ctrl+Enter. Приложение скомпилируется. Запустится отладчик. И в консоли Output появится надпись, которую мы написали.

Далее, разберём как ввести текст в программу.

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

Жмём латинскую Т на клавиатуре, должен выбраться инструмент "текст". Рисуем текстовое поле в любом видимом месте сцены.

Увидеть должны мы что-то подобное:

Далее, ищем панель Свойства(Properties).

Она должна выглядеть вот так, при выделенном текстовом поле:

Нам нужно там где "Статический текст" выбрать "Вводимый текст".

Там, где "Семейство/Family", выбираем любой шрифт, который поддерживает кириллицу(русские символы). Если вы не разбираетесь в этом, то выберите "Comic Sans MS".

И рядом со стилем жмём кнопку "Внедрить".

Появится окно с настройками для шрифтов. Что мы сейчас делаем? Мы встраиваем шрифт в SWF-файл.

Итак, в этом окне в списке "Диапазон символов" ставим галочку напротив "Все", чтобы сейчас не заморачиваться с шрифтами. Жмём "Ок".

Переходим назад к полю "Назначить имя экземпляру/Give instance name"

Чтобы обращаться к этому текстовому полю в коде, нам нужно дать ему имя(желательно латиницей).

В нашем примере, я дам ему имя tf.

Ещё, увеличу размер шрифта и поставлю рамку вокруг текстового поля, чтобы его было видно на сцене.

Далее перехожу к панели Действий(Actions) и вижу что-то подобное:

Всё дело в том, что у нас выделено текстовое поле. А код вы сейчас пишете в первом кадре. Чтобы вернуться к тому, что вы написали, вы должны снять выделение с поля, для этого кликаем в области сцены вне поля.

Чтобы проверить, что всё у нас будет работать, давайте напишем код, который будет выводить в output каждый кадр текст из текстового поля.

Для того, чтобы выполнить что-то каждый кадр, нам необходимо слушать события.

Я надеюсь, вы были знакомы с событиями в базовых языках. Например, при клике мышкой на объект, вы могли вывести какой-то текст.

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

addEventListener(Event.ENTER_FRAME, eachFrame);

Где ENTER_FRAME - это событие входа в кадр, а eachFrame - функция, которая выполняется при получении события.

Вот так выглядит структура функции в AS3.

function eachFrame(event:Event)

{

}

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

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

Чтобы вывести его содержимое в Output, напишем такую вещь в функции eachFrame:

trace(tf.text);

Теперь сохраним проект и нажмём Ctrl+Enter. Попробуем изменить содержимое текстового поля. Если всё, как на скриншоте ниже, то вы всё правильно сделали.

Довольствуемся собой, если всё было понятно. Кстати, для чего слушатель событий передает в функцию-обработчик объект event, вы поймёте позже, если пойдёте дальше.

Материал предоставлен сайтом /DelphiExpert.ru

У меня техническое образование и всю свою сознательную жизнь связан с техникой. Это и работа, и хобби.
Подробнее
0