Опубликован: 07.11.2006 | Уровень: специалист | Доступ: свободно
Лекция 14:

Видеоданные

Видеокалейдоскоп

  1. Откройте файл kaleidoscope.fla. Вы узнаете индикатор загрузки в кадре 1, а также вездесущие действия stop в кадрах 1 и 2.
  2. В кадре 2 есть фильм с именем инстанса kal. В нем содержится весь эффект калейдоскопа. Я, по большому счету, хотел создать пример того, как видеофильмы могут быть замаскированы, повторно использованы и контролируемы внешними источниками, поэтому я постарался обобщить все эти идеи в одном небольшом фильме.
  3. Дважды щелкнув на фильме kaleidoscope, вы увидите, что он состоит из четырех сегментов. На самом деле они представляют собой четыре простых инстанса с индивидуальными именами (с segment1 по segment4 ) одного и того же фильма segment, причем каждый из них вращается и располагается таким образом, что из них формируется круг. Я перетащил исходный сегмент без вращения, чтобы вам было проще разобраться в том, что здесь происходит.

  4. Открыв фильм segment, вы увидите, что имели дело с маской (фигура, представляющая собой четверть круга), перекрывающей другой фильм, содержащий видеоряд QuickTime.

    Это в особенности важно для демонстрации того, что видеофильм был отцентрирован в фильме holder, поэтому, если бы я попытался повернуть его с использованием средства Free Transformation, вращение бы осуществлялось вокруг центральной точки, и маска всегда перекрывала бы собой часть фильма.

    Все построено так, что при вращении holder с использованием ActionScript видеофильм всегда заполняет маску (т.е. круг не нарушается).

  5. Затем этот сценарий добавляется в кадр 2 слоя actions на главной временной шкале.
    Stop();
      this.onEnterFrame = function () {
        rotation = 20*(_root._xmouse/_root._ymouse);
        kal.segment1.holder._rotation=rotation;
        kal.segment2.holder._rotation=rotation;
        kal.segment3.holder._rotation=rotation;
        kal.segment4.holder._rotation=rotation;
      }

    Интерактивность обеспечивается установкой значения

    20*(_root._xmouse/_root._ymouse);

Прежде при загрузке SWF-файлов на главную страницу сайта мы избегали использования _root. Однако в данном случае нам нужно, чтобы наш видеофильм обрабатывал позицию мыши _root. Другими словами, он будет обрабатывать позицию, на которой находится указатель мыши на главной странице, а не в самом фильме калейдоскопа.

Так как видеофильм постоянно выполняется в цикле и обрабатывает позицию указателя мыши, существует множество способов его наблюдения и создания всех типов случайных узоров. Вы можете разобрать эту тему дальше, используя всевозможные виды математических функций и свойства инерционности, рассмотренные во "Форматирование текста" . Можно также поэкспериментировать со случайными числами.

Игорь Хан
Игорь Хан
След не остается
Александр Коргапольцев
Александр Коргапольцев
Вопрос по содержанию лекции №2, курс Flash MX Studio
Евгения Новоселецкая
Евгения Новоселецкая
Россия
Станислав Бакулин
Станислав Бакулин
Эстония, Нарва