Macromedia Flash MX. Задание № 16.6. Создание интерактивных фильмов. «Создание сценария для клипа. Танк. Эпизод II» | язык ActionScript | обработчик on | событие dragOver | событие dragOut
Создание интерактивных фильмов
Создание сценария для клипа. «Танк. Эпизод II»
-
Откройте приложение Macromedia Flash
-
Создайте новый фильм. Установите частоту смены кадров: 30 fps.
-
Создайте зону движения танка с помощью слоя-маски (см. задание 16.1).
-
Создайте символ-клип с изображением танка.
Присвойте копии символа имя (например
Tank
).
-
Создайте кнопки для движения танка вперёд, назад, вправо, влево.
-
Создайте кнопку, при нажатии на которую, танк будет разворачиваться по окружности:
-
Над кнопкой разместите символ-клип в виде стрелки (он будет появляться при нажатии на кнопку):
Присвойте копии символа имя (например
curve
):
-
Напишите код ActionScript поведения кнопки со стрелкой:
on (press, dragOver) {_root.curve._y += 2;}
on (release) {_root.tank.mode=!_root.tank.mode;}
on (release, dragOut) {_root.curve._y -= 2;}
-
Напишите код ActionScript для управляющих кнопок:
Вверх:
on (press) {_root.tank.up=true;}
on (release, releaseOutside) {_root.tank.up=false;}
Вниз:
on (press) {_root.tank.down=true;}
on (release, releaseOutside) {_root.tank.down=false;}
Влево:
on (press) {_root.tank.left=true;}
on (release, releaseOutside) {_root.tank.left=false;}
Вправо:
on (press) {_root.tank.right=true;}
on (release, releaseOutside) {_root.tank.right=false;}
-
Для символа-клипа с танком напишите код ActionScript, обрабатывающий следующие события:
onClipEvent (load) {
//объявление и установка начальных
//переменной(скорость) и свойства(способ)
mode = true;
speed = 7;
//описание функции, используемой
//при значении свойства mode = false
function go (degree) {
_y -= speed*Math.cos(_rotation*(Math.PI/180));
_x += speed*Math.sin(_rotation*(Math.PI/180));
if (_rotation<degree) {_rotation += 10;}
if (_rotation>degree) {_rotation -= 10;}
}
}
onClipEvent (enterFrame) {
//видимость стрелки curve в зависимости от
//значения способа mode
_root.curve._visible = !mode;
//если значение способа mode=true, то танк едет по прямой
if (mode) {
if (up) {
_y -= speed;
_rotation = 0;
}
if (down) {
_y += speed;
_rotation = 180;
}
if (right) {
_x += speed;
_rotation = 90;
}
if (left) {
_x -= speed;
_rotation = 270;
}
} else {
//если значение способа mode=false, то танк
//поворачивает по окружности, описанной в функции go()
if (up) {go(0);}
if (down) {
if (_rotation >= 0) {go(180);}
if (_rotation < 0) {go(-180);}
}
if (right) {
if (_rotation >= 0) {go(90);}
if (_rotation < 0) {go(-270);}
}
if (left) {
if (_rotation > 0) {go(270);}
if (_rotation >= 0) {go(-90);}
}
}
//возврат в маскируемую зону при покидании её
if (_y < -35) {_y = 435;}
if (_y > 435) {_y = -35;}
if (_x < 140) {_x = 595;}
if (_x > 595) {_x = 140;}
}
-
Замаскируйте слой с танком.
-
Готовое изображение сохраните в своей папке в формате
*.fla
-
Протестируйте фильм, нажав сочетание клавиш
<Ctrl>+<Enter>, устраните недочёты.
.
Готовый интерактивный флеш-фильм
Все представленные материалы являются интеллектуальной собственностью.
При цитировании материалов ссылка на сайт обязательна!
Обратная связь: admin@modern-computer.ru