Macromedia Flash MX. Задание № 16.1. Создание интерактивных фильмов. «Создание сценария для клипа. Автомобиль» | язык ActionScript | обработчик onClipEvent | событие enterFrame | событие Load
Создание интерактивных фильмов
Создание сценария для клипа. «Автомобиль»
-
Откройте приложение Macromedia Flash
-
Создайте новый фильм размером 500x250 пикселей.
-
Переименуйте слой в Background. Создайте в этом слое два прямоугольника, как показано на рисунке.
-
Создайте новый слой и переименуйте его в Keys
-
Вставьте в слой Keys кнопки из общей библиотеки Buttons/Key Buttons
-
Расставьте кнопки соответствующим образом:
-
Преобразуйте каждую из кнопок (Button) в фильм (Movie Clip):
-
Для каждого из клипов-«кнопок» напишите код, обрабатывающий событие
enterFrame
обработчикаonClipEvent
:
onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT)) {
gotoAndStop(3);
} else {
gotoAndStop(1);
}
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.DOWN)) {
gotoAndStop(3);
} else {
gotoAndStop(1);
}
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.UP)) {
gotoAndStop(3);
} else {
gotoAndStop(1);
}
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.RIGHT)) {
gotoAndStop(3);
} else {
gotoAndStop(1);
}
}
-
Создаайте новый слой между слоями Background и Keys и переименуйте его в Avto.
-
Создайте в слое Avto символ-клип в виде автомобиля, присвоив ему(символу-клипу) имя Car
-
Напишите код, обрабатывающий события
Load
иenterFrame
обработчикаonClipEvent
клипа Car. В моём примере это будет выглядеть так:
onClipEvent (load) {
// Объявление и установка переменной скорости
speed = 5;
}
onClipEvent (enterFrame) {
// Движение влево, вправо, вперёд, назад
if (Key.isDown(Key.LEFT) && !Key.isDown(Key.RIGHT)) {
_x -= speed;
_rotation = 270;
}
if (Key.isDown(Key.RIGHT) && !Key.isDown(Key.LEFT)) {
_x += speed;
_rotation = 90;
}
if (Key.isDown(Key.UP) && !Key.isDown(Key.DOWN)) {
_y -= speed;
_rotation = 0;
}
if (Key.isDown(Key.DOWN) && !Key.isDown(Key.UP)) {
_y += speed;
_rotation = 180;
}
//
// Движение по диагонали
if (Key.isDown(Key.LEFT) && Key.isDown(Key.UP) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.DOWN)) {
_rotation = 315;
}
if (Key.isDown(Key.RIGHT) && Key.isDown(Key.UP) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.DOWN)) {
_rotation = 45;
}
if (Key.isDown(Key.LEFT) && Key.isDown(Key.DOWN) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.UP)) {
_rotation = 225;
}
if (Key.isDown(Key.RIGHT) && Key.isDown(Key.DOWN) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.UP)) {
_rotation = 135;
}
//
// возвращение на противоположную сторону замаскированной области
// когда машинка уходит с экрана
if (_y<0) {_y = 231;}
if (_y>231) {_y = 0;}
if (_x<231) {_x = 465;}
if (_x>465) {_x = 231;}
}
-
Теперь необходимо «замаскировать» машинку так, чтобы она появлялась в строго определённой зоне. Для этого нужно для слоя с машинкой создать слой маску:
- Выбрав слой с машинкой, создайте выше него новый слой. Переименуйте слой в Mask;
- Заливкой в слое Mask обозначьте квадратную область. Именно в ней и будет видна машинка;
- Преобразуйте слой Mask в слой-маску.
-
Готовое изображение сохраните в своей папке в формате
*.fla
-
Протестируйте фильм, нажав сочетание клавиш
<Ctrl>+<Enter>
.
Готовый интерактивный флеш-фильм
Все представленные материалы являются интеллектуальной собственностью.
При цитировании материалов ссылка на сайт обязательна!
Обратная связь: admin@modern-computer.ru