Слой actions. Управление MovieClip из шкалы времени

В этом уроке мы рассмотрим 2 вопроса:

  1. Слой actions. Управление MovieClip из шкалы времени
  2. Дополнительная информация

Отдельный слой actions создается специально для вставки ActionScript кода непосредственно на шкалу времени MovieClip. когда он должен быть применен к каждому его экземпляру. Однако, гораздо чаще, Вам придется это делать только для одного экземпляра.

Например, если Вы хотите чтобы каждый экземпляр MovieClip начинал вращаться после щелчка на нем мышью, то добавляйте код непосредственно на его шкалу времени (Timeline) в слой actions. Если же Вам нужно чтобы вращались только его определенные экземпляры, то код вставляется на главную шкалу времени фильма и в нем прописываются только те экземпляры, которые должны вращаться.

Любое свойство или метод клипа могут быть вызваны вставкой кода на шкалу времени, где указывается имя экземпляра, ставится точка и затем свойство или метод, который Вы хотите использовать.

Например, у Вас есть экземпляр MovieClip с именем myCar и Вы хотите остановить его, то на шкале времени фильма вставьте следующий код:

myCar.stop();

Вы можете использовать этот прием не только для остановки (stop), начала движения (gotoAndPlay) или мгновенного перемещения (gotoAndStop) к нужному кадру, но и для установки/назначения необходимых свойств клипу: местоположение на сцене, размер и т.д. Если Ваш клип является экземпляром пользовательского класса (custom class), Вы также можете вызывать любое свойство или метод этого класса при помощи этой техники.

Управление MovieClip из шкалы времени

Создайте экземпляр MovieClip на сцене (см. урок «Создание символа во Flash CS5»).

Присвойте имя этому экземпляру, например

mySquire

Создайте новый слой actions на шкале времени – щелкните на кнопке New Layer.

Щелкните на первом кадре нового слоя.

Откройте панель Actions (см. урок «Использование панели Actions»).

Чтобы определить новое местоположение экземпляра по горизонтальной оси координат запишите следующее:

mySquire.x = 50;

Теперь сделайте тоже самое для вертикальной оси координат:

mySquire.y = 50;

Немного поверните экземпляр:

mySquire.rotation = 30;

слой actions - запись кода

Нажмите Ctrl + Enter.

Фильм начнет воспроизводится.

результат записи кода на слое actions

В рассмотренном примере Вы назначили новые свойства конкретному экземпляру, вставив код на главную шкалу времени фильма на слое actions.

Дополнительная информация

Используя шкалу времени Вы можете обращаться/вызывать экземпляр символа, помещая код в тот самый кадр на слое actions, когда он был создан либо в последующие. Если Вы поместите код в кадры, предшествующие моменту создания этого экземпляра, то получите сообщение об ошибке.

Например, нельзя добавлять слушатель события к клипу в первый кадр фильма, если этот клип был создан в 20-ом кадре. Для того чтобы добавить слушатель события Вам надо либо поместить код в 20-й кадр, либо декларировать этот клип как переменную в 1-ом кадре, тем самым создавая ссылку на него.

Пример декларации экземпляра как переменной:

var mySquire:MovieClip;