Ваш аккаунт: пройдите авторизацию

Авторизация

Пароль есть, но Вы его забыли?
Впервые на сайте? Зарегистрируйтесь!

Вы попали в мир графики и дизайна


Изюминка нашего сайта в том, что все файлы хранятся на наших серверах, поэтому Вы получаете круглосуточный доступ ко всем файлам по прямым ссылкам без регистрации! С нашим сайтом Вы забудете про файлообменники!


Пузыри (рандомное движение)


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

1. Создайте новый Flash документ размером 400×300.

2. Нарисуйте круг на сцене без обводки. Сделайте его размером 32×32.

3. Примените радиальныю заливку для круга. Используйте следующие установки
alt
4. Вы должны видеть круг подобный этому.
alt
5. Конвертируйте круг в муви клип. Назовите его Bubble и установите точку регистрации в центре.

6. Свяжите муви клип с классом по имени “Bubble” (правой кнопкой мыши кликните по мувику в библиотеке и выберите “Linkage” (CS3) или “Properties” (CS4)).

7. Удалите мувик со сцены.

Идем в ActionScript 3


8. В первом фрейме вашего мувика напишите следующее.
CODE

//Число пузырей , которые мы будем иметь на сцене
const NUMBER_OF_BUBBLES:uint = 60;

//Сохраним ширину и высоту сцены
var stageWidth:Number = stage.stageWidth;
var stageHeight:Number = stage.stageHeight;

//Этот массив будет содержать все пузыри
var bubbles:Array = new Array();

//Этот цикл создает и размещает пузыри на рандомные позиции
for (var i:uint = 0; i < NUMBER_OF_BUBBLES; i++) {

//Создаем новый пузырь
var bubble:Bubble = new Bubble();

//Присвоим рандомную y координату (от 0 до 300)
bubble.y = Math.random() * stageHeight;

//Вычисляем горизонтальное расстояние от курсора мыши до центра сцены
var distanceFromCenter:Number = mouseX - stageWidth / 2;

//Вычисляем x координату (от -400 до 800)
bubble.x = Math.random()*stageWidth-Math.random()*distanceFromCenter*2;

//Присвоим рандомный масштаб
bubble.scaleX = bubble.scaleY = Math.random() + 0.3;

//Присвоим рандомную альфу
bubble.alpha = Math.random() + 0.5;

//Присвоим рандомный текущий угол для пузыря
bubble.currentAngle = Math.random() * Math.PI * 2;

//Присвоим рандомную угловую скорость
bubble.angleSpeed = Math.random() * 0.1;

//Присвоим рандомный радиус для пузыря
bubble.radius = Math.random() * 5;

//Присвоим рандомную скорость по y
bubble.ySpeed =  -  Math.random() * 0.5;

//Присвоим рандомнуое ускорение по y
bubble.acceleration =  -  Math.random() * 0.2;

//Добавим пузырь в массив bubbles
bubbles.push(bubble);

//Добавим пузырь на сцену
addChild(bubble);
}

//Добавим слушатель ENTER_FRAME для анимации пузырей
addEventListener(Event.ENTER_FRAME, moveBubbles);

//Эта функция вызывается в каждом фрейме
function moveBubbles(e:Event):void {

//Вычисляем горизонтальное расстояние от курсора мыши до центра сцены
var distanceFromCenter:Number = mouseX - stageWidth / 2;

//Вычисляем новую скорость по x для пузырей
var xSpeed:Number = distanceFromCenter / 32;

//Цикл по массиву пузырей
for (var i:uint = 0; i < bubbles.length; i++) {

 //Сохраняем bubble в локальную переменную
 var bubble:Bubble = (Bubble)(bubbles[i]);

 //Изменяем ySpeed для пузыря (ускорение)
 bubble.ySpeed += bubble.acceleration;

 //изменяем y координату
 bubble.y+=bubble.ySpeed;

 //Изменяем текущий угол пузыря
 bubble.currentAngle+=bubble.angleSpeed;

 //изменяем x координату
 bubble.x+=Math.sin(bubble.currentAngle)*bubble.radius+xSpeed;

 //Проверяем находится ли пузырь вверху сцены
 if (bubble.y<0) {

  //Присвоим новую рандомную x координату
  bubble.y=stageHeight;
  bubble.x=Math.random()*stageWidth-Math.random()*distanceFromCenter*2;

  //Присвоим новый рандомный текущий угол
  bubble.currentAngle=Math.random()*Math.PI*2;

  //Присвоим новую рандомную ySpeed
  bubble.ySpeed= -Math.random()*0.5;
 }
}
}

9. Это все, протестируйте ваш мувик!
Исходник берём здесь:
Нажмите для скачивания bubble.rar!
Название: bubble.rar
Размер: 5.85 Kb


Внимание! Вы находитесь на сайте как гость! Зарегистрируйтесь или авторизируйтесь...

Нет времени на регистрацию? Можете войти на сайт через ВКонтакте! Это просто, быстро и удобно!

Похожие материалы

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.