Откройте приложение 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>, устраните недочёты.
.