Macromedia Flash MX. Задание № 16.3. Создание интерактивных фильмов. «Создание сценария для клипа. Звездные войны» | язык ActionScript | обработчик onClipEvent | событие enterFrame | событие Load | свойство visible

Внимание, откроется в новом окне! ПечатьE-mail

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

Создание сценария для клипа. «Звездные войны»

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

  2. Создайте новый фильм. Установите цвет фона: чёрный; частоту смены кадров: 30 fps.

  3. В отдельном слое создайте изображение звёздного неба.


    Создание нового флеш-фильма
  4. В отдельном слое создайте символ-клип с изображением летающего объекта.


    Создание в флеш-фильме символа клипа


    Внутри этого клипа создать дополнительный символ клип с изображением пламени от двигателя.


    Создание символа клипа внутри родительского символа-клипа


    В палитре Параметры присвойте имя клипу с пламенем (например fires).


    Присвоение уникального имени символу-клипу
  5. В новом слое создайте рамку:


    Создание дополнительного слоя с изображением
  6. Замаскируйте слоем-маской слои со звёздным небом и летающим объектом.


    Создание маскирующего слоя
  7. Напишите код, обрабатывающий поведение клипа с летающим объектом. Для моего примера это будет выглядеть так:


    onClipEvent (load) {
      // Объявление и установка начальных переменных
      // trust - начальная скорость, decay - затухание скорости,
      // maxSpeed - максимальная скорость.
      thrust = 1;
      decay = .97;
      maxSpeed = 15;
    }




    onClipEvent (enterFrame) {
      // поворот вправо и влево
      if (Key.isDown(Key.RIGHT)) {_rotation += 10;}
      if (Key.isDown(Key.LEFT)) {_rotation -= 10;}
      if (Key.isDown(Key.UP)) {
        // Вычисление скорости и траектории в зависимости от
        // от угла поворота

        xSpeed += thrust*Math.sin(_rotation*(Math.PI/180));
        ySpeed += thrust*Math.cos(_rotation*(Math.PI/180));
        fires._visible = 1;
      } else {
          // «затухание» скорости после того, как клавиша UP
          // будет отжата

          xSpeed *= decay;
          ySpeed *= decay;
          fires._visible = 0;
        }
      // ограничение скорости
      speed = Math.sqrt((xSpeed*xSpeed)+(ySpeed*ySpeed));
      if (speed>maxSpeed) {
        xSpeed *= maxSpeed/speed;
        ySpeed *= maxSpeed/speed;
      }
      // Перемещение на основе вышеуказанных вычислений
      _y -= ySpeed;
      _x += xSpeed;
      // Вычисление возврата при покидании экрана
      if (_y<0) {_y = 500;}
      if (_y>500) {_y = 0;}
      if (_x<0) {_x = 500;}
      if (_x>500) {_x = 0;}
    }


  8. Готовое изображение сохраните в своей папке в формате *.fla


  9. Протестируйте фильм, нажав сочетание клавиш <Ctrl>+<Enter>.

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


Все представленные материалы являются интеллектуальной собственностью.
При цитировании материалов ссылка на сайт обязательна!


Обратная связь: admin@modern-computer.ru