9 ноября 2010 г.

Урок 1. Основы Action Script 3.0. События, функции.

Итак, начнем с самого основного -  небольшое вступление, теория, пара примеров.

Action Script с течением времени все больше приближался к таким серьезным языкам программирования, как C, Java и т.п. AS 3 - это последний, наиболее качественный, производительный язык среди других версий AS. С его помощью создается большинство приложений и игр в среде Flash, чему будет посвящена серия уроков в этом блоге.

Основные методы программирования на as3 - функции и события. Функции - это то, что выполняется. События - это то, при каких условиях выполняется та или иная функция.
Еще есть слушатели событий - это средства, которые "соединяют" функции и события.

Но, впрочем, теория, имхо, не так важна, все познается в примерах, лично для меня было легче воспринимать все, опираясь на примеры.
Откроем любую IDE, т.е. средство разработки приложений, поддерживающую As3, я использую Adobe Flash CS4.



Урок 1. Событие EnterFrame. 

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

1. Открываем новый документ AS3 и рисуем любой объект, например прямоугольник.









2. Обращаем его в мувиклип клавишей F8,  называем и жмем "ОК".









Затем даем ему новое Instance Name, например box.

3. Теперь создаем новый слой под названием actions - туда мы будем вписывать весь код, сейчас и в последующие уроки. Это нужно для того, чтобы если код будет достаточно длинным, можно было легче найти ту или иную часть кода. На этом новом слое открываем панель "Actions" (F9) и вписываем следующий код:

stage.addEventListener(Event.ENTER_FRAME, moveF);
function moveF(e:Event):void {
    box.x += 2;
}

Теперь протестируем ролик (Ctrl+Enter).
Ура, все работает. А теперь разберемся, что мы написали, по порядку.

stage.addEventListener(Event.ENTER_FRAME, moveF)  - в этой строчке мы объявляем слушатель событий, который будет "привязан" к данной сцене, stage. Далее смотрим свойства (то, что в скобках)  - функции могут быть заданы разными видами событий - события мыши, клавиатуры, а в данном случае это событие Enterframe, то есть действия функции будут совершаться при переходе на каждый  новый кадр нашей сцены. Причем частоту перехода  можно регулировать вот здесь, в нижней части Timeline:






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

Перейдем дальше. Следующая строкой ключевым словом function, как можно догадаться, мы объявляем саму функцию и указываем ее имя, которые мы раньше обозначили в свойствах слушателя событий. После имени в скобках указываем переменную, которая указывает принадлежность функции, в данном случае мы указываем тип Event, такой же, как и в свойствах слушателя ранее. И после скобок необходимо указать тип функции, то есть обозначить, что она будет возвращать. Мы указали тип void, потому что наша функция не возвращает никаких значений, только изменяет уже существующие параметры. Чтобы объявить начало тела функции, нужно открыть фигурную скобку.

И наконец, в теле функции мы указываем само действие, в нашем случае это движение объекта вправо, то есть по оси Х. Для этого мы указываем имя объекта (его instance name) и параметр - х, увеличивая его на 2. Все, все действия в функции закончены, поэтому закроем фигурную скобку.

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

Домашнее задание:

Осуществить движение объекта по диагонали.
а) В одну сторону;
б) В обратную сторону.



Всем спасибо, урок окончен. Решение домашнего задания будет в следующем уроке, а оно достаточно легкое :).

4 коммент.:

Sandrik комментирует...

Сколько планируешь сделать уроков? Что можно будет сделать, изучив все твои уроки? Каков будет результат? Насколько далеко собираешься дойти?

Cyber комментирует...

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

Paul? Yes! комментирует...

Достаточно интересно.. +

Ты сам уже много изучил в as3?

Было бы очень кстати, если бы ты ещё Adobe Flash 4 выложил.. )

Cyber комментирует...

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

Отправить комментарий