Macromedia Flash MX. Задание № 16.6. Создание интерактивных фильмов. «Создание сценария для клипа. Танк. Эпизод II» | язык ActionScript | обработчик on | событие dragOver | событие dragOut

Печать

Создание интерактивных фильмов

Создание сценария для клипа. «Танк. Эпизод II»

  1. Откройте приложение Macromedia Flash

  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>, устраните недочёты..

Готовый интерактивный флеш-фильм