Войти
ПрограммированиеТерминыГрафика

MovieClip

MovieClip — графический объект в среде Flash, который в отличии от Sprite может иметь анимацию. Это основной компонент в большинстве флеш-приложений.

Каждый MovieClip имеет собственную временную шкалу и благодаря этому может отображать анимацию и управлять ею. Также он является контейнером, и может содержать в себе другие MovieClip. Это динамичный класс (атрибут dynamic), что позволяет добавлять к нему новые свойства во время выполнения приложения. Создать новые экземпляры на лету можно с помощью оператора new. При этом, чтобы они отображались на сцене, надо не забыть прикрепить их к нужному контейнеру с помощью функции addChild().

На временной шкале каждого MovieClip можно разместить код ActionScript, что позволит управлять анимацией с помощью функций play(), stop(), gotoAndPlay(frame) и т.п, а также на ходу менять свойства или добавлять новую графику. В IDE Adobe Flash для вызова редактора кода достаточно выделить нужный кадр и нажать F9.

В ActionScript 3 главная сцена (stage) флеш-приложения может быть основана на классе, наследованном от MovieClip. Этот класс будет создан при воспроизведении флеш-приложения и станет связан со сценой. Таким образом, применяя в нем функции MovieClip, мы сможем управлять основной шкалой и рисовать прямо на сцене.

Если поменять значения некоторых свойств объекта MovieClip, содержащего анимацию движения, точка воспроизведения в этом MovieClip останавливается: alpha, blendMode, filters, height, opaqueBackground, rotation, scaleX, scaleY, scale9Grid, scrollRect, transform, visible, width, x или y. Однако он не останавливает анимацию дочерних объектов MovieClip данного объекта MovieClip.

При публикации флеш-приложения, все элементы, размещенные в рабочую область IDE Flash, преобразуются в объекты MovieClip. Получить доступ к ним можно, если заранее задать имена в инспекторе свойств, либо перебрав все элементы контейнера. Дочерние элементы, вложенные в MovieClip, воспринимаются как его свойства. Пример кода, который позволяет обращаться в ним:

    //parentClip - название MovieClip, лежащего на рабочей области, childClip - вложенный в него другой MovieClip
    parentClip.childClip.play();

Цепочка наследования: MovieClip -> Sprite -> DisplayObjectContainer -> InteractiveObject -> DisplayObject -> EventDispatcher -> Object

Функции MovieClip:

  gotoAndPlay(frame:Object, scene:String = null):void - воспроизводит анимацию с заданного кадра. Frame может быть номером кадра (int) или его названием (String)

  gotoAndStop(frame:Object, scene:String = null):void - устанавливает точку воспроизведения в заданный кадр и останавливает анимацию
     
  nextFrame():void - переводит точку воспроизведения в следующий кадр и останавливает ее.

  nextScene():void - переводит точку воспроизведения в  следующий монтажный кадр и останавливает ее.
     
  play():void - проигрывает анимацию с текущего кадра
     
  prevFrame():void - переводит точку воспроизведения в предыдущий кадр и останавливает ее.

  prevScene():void - Перемещает точку воспроизведения в предыдущий монтажный кадр экземпляра MovieClip.
     
  stop():void - останавливает воспроизведение анимации

ссылки:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/… ovieClip.html (Eng)
http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/… ovieClip.html (Ru)

Что такое MovieClip?

#actionScript, #flash

26 апреля 2012 (Обновление: 6 мая 2012)