Суббота, 05.07.2025, 02:37Приветствую Вас Посторонний | RSS
Главная | | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Движение
GRELIKTIKONДата: Четверг, 07.04.2011, 17:47 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 1400
Награды: 0
Репутация: 0
Статус: Offline
Рандомное движение во Flash

Шаг 1
Начнем с того, что создадим новый файл, размер сцены установим 550x100 и зададим Frame rate в 30 кадров в секунду. Нарисуем вертикальную линию, по высоте равную высоте клипа. Вы можете поместить ее на любом месте сцены, это не имеет для нас никакого значения.

Шаг 2
Выделим эту линию и нажмем F8, чтобы перевести ее в movie clip. Имя клипа также не имеет никакого значения. Теперь у нас на сцене вместо линии появился movie clip, содержащий эту линию.

Шаг 3
Выделим этот movie clip с нашей линией и откроем панель ActionScript, нажав F9. Вы должны убедится, что выделение стоит именно на муви-клипе, иначе у нас ничего не получится. Если все правильно, то смело вставляем в окно ActionScript следующий код:

onClipEvent (enterFrame) {
_x = random(551);
_alpha = random(101);
}

Все, ролик готов! Чтобы убедится в его работоспособности, идем Control > Test Movie, или просто нажимает Ctrl+Enter. Если все сделано правильно, то вы должны увидеть прыгающую с места на место линию, как на ролике в начале урока.
Давайте разберемся, что делает код, который мы вставили:
Первая строчка кода "onClipEven(enterFrame) {}" необходима, чтобы действие, описанное двумя строчками ниже, повторялось каждый раз, когда меняется кадр. Вобщем-то, кадр может быть всего один, тут не имеет значение их количество, действие будет выполнятся столько раз в секунду, сколько мы задали в Frame rate в самом начале урока, т.е. 30 раз в секунду бесконечное число секунд.

Вторая строчка "_x = random (551);" меняет значение горизонтальной координаты линии. Т.е. машина выбирает случайное число от 0 до 550 и присваевает его как координату нашей линии.

Если мы хотим изменять вертикальную координату, вместо _x стоит указать _y. Есть множество свойств объекта, которые могут изменяться, например: вертикальное положение_y, вертикальное растягивание _yscale, горизонтальное положение_x, горизонтальное растягивание _xscale, непрозрачность _alpha и поворот объекта _rotation. Советую вам поэксперементировать со всеми этими свойствами, например так:

onClipEvent (enterFrame) {
_x = random(434);
_y = random(50);
_xscale = random (20);
_alpha = random(50);
_rotation = random (44);
}

Попробуйте подставлять свои значения, добавлять или убирать свойства и посмотрите, что выйдет.

http://web-silver.ru/flash/tutorials/random-movement-flash.php


"Чем ночь темней, тем ярче звёзды"
 
GRELIKTIKONДата: Четверг, 07.04.2011, 19:24 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 1400
Награды: 0
Репутация: 0
Статус: Offline
http://xitri.com/tag/banner/page/3

Циклическая анимация фона

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

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

onClipEvent (load) {
speed = 4;//скорость
x0 = _x;//Запоминаем начальное положение
x9 = x0 - _width / 2;//максимально-допустимое левое положение
onEnterFrame = function() {
_x -= speed;
var dx = x9 - _x; //Вычисляем перебор
if (dx > 0) {
_x = x0 - dx;//Компенсируем его и возвращаем в начальное положение
}
}
}


"Чем ночь темней, тем ярче звёзды"
 
  • Страница 1 из 1
  • 1
Поиск:

Disign by Mark © 2025