Рисуем с помощью AS 3.0




Главная > Уроки > Action script 3.0 > Рисуем с помощью AS 3.0

Рисуем с помощью AS 3.0

Автор/переводчик статьи: Команда сайта flashmaster.org.ua

Дата: 2012-08-30

Для содержимого этой страницы требуется более новая версия Adobe Flash Player.

Получить проигрыватель Adobe Flash Player

В этом уроке Вы научитесь с помощью ActionScript 3.0 создавать анимацию рисования линии, окружности и волны.



Начнем с кода для анимации рисования простой линии. Создаем новый *.fla документ и в первом кадре пишем следующий

 

AS 3.0:

//Скорости анимации по осям х и у.
var xspeed:Number = 2;
var yspeed:Number = -2;

//Координаты покадрового рисования.
var xpos:Number = 0;
var ypos:Number = stage.stageHeight;
//Задаем стиль линии: толщина 2 пикселя, цвет "красный".

graphics.lineStyle(2, 0xff0000);

//Задаем начальную позицию рисования.;
graphics.moveTo(0, stage.stageHeight);

//Назначаем слушатель на событие смены кадра.;
addEventListener(Event.ENTER_FRAME, onEnterFrame);


//Эта функция выполняется каждый кадр и рисует линию.
function onEnterFrame(event:Event):void
{
//Задаем координаты следующей точки.
xpos += xspeed;
ypos += yspeed;
//Рисуем линию до следующей точки.
graphics.lineTo(xpos, ypos);
}


Протестируем наш ролик. Мы сразу же видим, что перед нами рисуется линия. По такому же принципу создадим анимацию рисования окружности. Сотрём предыдущий код для анимации линии и напишем код Для анимации окружности:
 

//Скорость анимации.
var speed:Number = 0.05;
//Радиус окружности.
var radius:Number = 50;
//Угол покадрового рисования в радианах.
var angle:Number = 0;
//Координаты покадрового рисования.
var xpos:Number;
var ypos:Number;
//Координаты центра окружности.

var centerX:Number = stage.stageWidth / 2;
var centerY:Number = stage.stageHeight / 2;
//Задаем стиль линии: толщина 2 пикселя, цвет "красный".

graphics.lineStyle(2, 0xff0000);
//Задаем начальную позицию рисования.;

graphics.moveTo(centerX + radius, centerY);
//Назначаем слушатель на событие смены кадра.;
addEventListener(Event.ENTER_FRAME, onEnterFrame);

//Эта функция выполняется каждый кадр и рисует окружность.
function onEnterFrame(event:Event):void
{
//Задаем координаты следующей точки.
xpos = centerX + Math.cos(angle) * radius;
ypos = centerY + Math.sin(angle) * radius;
//Задаем угол в следующем кадре.
angle += speed;

//Рисуем окружность до следующей точки.
graphics.lineTo(xpos,ypos);
}



Протестируем ролик. Мы видим что теперь перед нами рисуется окружность. Теперь заанимируем рисование волны. Сотрём предыдущий код и напишем следующий:

//Скорость анимации по оси х.
var speedX:Number = 1;
//Скорость анимации по оси у.
var speedAngle:Number = 0.1;
//Амплитуда волны.
var range:Number = 100;
//Математический угол.
var angle:Number = 0;
//Координаты покадрового рисования.
var xpos:Number = 0;
var ypos:Number = 0;
//Координата начальной точки волны по оси у.
var centerY:Number = stage.stageHeight / 2;
//Задаем стиль линии: толщина 2 пикселя, цвет "красный".
graphics.lineStyle(2, 0xff0000);

//Задаем начальную позицию рисования.;
graphics.moveTo(0, centerY);
//Назначаем слушатель на событие смены кадра.;

addEventListener(Event.ENTER_FRAME, onEnterFrame);

//Эта функция выполняется каждый кадр и рисует окружность.
function onEnterFrame(event:Event):void
{
//Задаем координаты следующей точки.
xpos += speedX;
ypos = centerY + Math.sin(angle) * range;
//Задаем угол в следующем кадре.
angle += speedAngle;
//Рисуем окружность до следующей точки.
graphics.lineTo(xpos,ypos);
}



Посли теста , вы должны увидеть возникшую волну)

Готово, сапсибо, комментируем :) 

Также рекомендую похожий урок по рисования посредством ActionScript 3.0.
 

Просмотров: 2664


Понравился материал? Поделись с друзьями!





Подписаться на рассылку.

При перепечатки материалов ссылка на наш сайт обязательна!


 1