2. Создайте новый фильм. Установите частоту смены кадров: 30 fps.
3. Создайте зону движения танка с помощью слоя-маски (см. задание 16.1).
4. Создайте символ-клип с изображением танка.
Присвойте копии символа имя (например Tank).
5. Создайте кнопки для движения танка вперёд, назад, вправо, влево.
6. Создайте кнопку, при нажатии на которую, танк будет разворачиваться по окружности:
7. Над кнопкой разместите символ-клип в виде стрелки (он будет появляться при нажатии на кнопку):
Присвойте копии символа имя (например curve):
8. Напишите код ActionScript поведения кнопки со стрелкой:
on (press, dragOver) {_root.curve._y += 2;} on (release) {_root.tank.mode=!_root.tank.mode;} on (release, dragOut) {_root.curve._y -= 2;}
9. Напишите код 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;}
10. Для символа-клипа с танком напишите код 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;} }
11. Замаскируйте слой с танком.
12. Готовое изображение сохраните в своей папке в формате *.fla
13. Протестируйте фильм, нажав сочетание клавиш <Ctrl>+<Enter>, устраните недочёты..
Macromedia Flash MX. Задание № 16.7. Создание интерактивных фильмов. «Создание сценария для клипа. Часы» | язык ActionScript | функция Date | функция getHours | функция getMinutes | функция getSeconds