Руководство пользователя Отмена

Временные шкалы и ActionScript

 

При помощи ActionScript® можно управлять временной шкалой при исполнении. С помощью ActionScript в FLA-файлах можно создавать интерактивные и другие возможности, которые недоступны при использовании одной только временной шкалы.

При помощи ActionScript® можно управлять временной шкалой при исполнении. С помощью ActionScript в FLA-файлах можно создавать интерактивные и другие возможности, которые недоступны при использовании одной только временной шкалы.

См. обсуждение временных шкал и ActionScript в веб-cправке, чтобы научиться управлять временной шкалой с помощью ActionScript.

Абсолютные пути

Абсолютный путь начинается от имени уровня, на который загружен документ, и продолжается через список отображения, пока не достигнет целевого экземпляра. Можно также пользоваться псевдонимом _root, который ссылается на самую верхнюю временную шкалу текущего уровня. Например, действие во фрагменте ролика california, которое ссылается на фрагмент ролика oregon, может использовать абсолютный путь _root.westCoast.oregon.

Первый документ, открываемый в проигрывателе Flash Player, загружается на уровень 0. Каждому следующему загруженному документу необходимо назначить номер уровня. Если абсолютная ссылка в сценарии ActionScript используется для обращения к загруженному документу, пользуйтесь форматом _levelX, где X — номер уровня, на который загружен документ. Например, первый документ, который открыт в проигрывателе Flash Player, называется _level0. Документ, загруженный на уровень 3, называется _level3.

Чтобы обеспечить связь между документами на различных уровнях, необходимо указывать в целевом пути имя уровня. В следующих примерах показано, каким образом экземпляр portland обращается к экземпляру atlanta, размещенному во фрагменте ролика georgia (georgia находится на том же уровне, что и oregon):

_level5.georgia.atlanta
_level5.georgia.atlanta
_level5.georgia.atlanta

Псевдоним _root позволяет ссылаться на основную временную шкалу текущего уровня. Для основной временной шкалы псевдоним _root соответствует _level0 при обращении к фрагменту ролика, также находящемуся на _level0. Для документа, загруженного на _level5, _root соответствует _level5 при обращении к фрагменту ролика, который находится также на уровне 5. Например, если фрагменты ролика southcarolina и florida загружены на один уровень, то действие, вызванное из экземпляра southcarolina, может использовать следующий абсолютный путь для обращения к экземпляру florida:

_root.eastCoast.florida
_root.eastCoast.florida
_root.eastCoast.florida

Относительные пути

Относительный путь зависит от отношений между управляющей и целевой временными шкалами. Относительные пути могут указывать только на цели, находящиеся на том же уровне Flash Player. Например, в действии на уровне _level0, которое обращается к временной шкале на уровне _level5, относительный путь использовать нельзя.

В относительных путях ключевое слово this ссылается на текущую временную шкалу на текущем уровне. Псевдоним _parent указывает на родительскую временную шкалу для текущей временной шкалы. Псевдоним _parent может указываться несколько раз, позволяя перейти на следующий уровень иерархии фрагментов ролика в пределах одного уровня Flash Player. Например, _parent._parent управляет фрагментом ролика, который находится выше на два уровня иерархии. Самая верхняя временная шкала на любом уровне Flash Player — это единственная временная шкала с неопределенным значением _parent.

Действие во временной шкале экземпляра charleston, расположенного на один уровень ниже экземпляра southcarolina, может использовать для обращения к экземпляру southcarolina следующий целевой путь.

_parent
_parent
_parent

Чтобы обратиться к экземпляру eastCoast (на один уровень выше) из действия в экземпляре charleston, можно использовать следующий относительный путь.

_parent._parent
_parent._parent
_parent._parent

Чтобы обратиться к экземпляру atlanta (на один уровень выше) из действия во временной шкале charleston, можно использовать следующий относительный путь.

_parent._parent.georgia.atlanta
_parent._parent.georgia.atlanta
_parent._parent.georgia.atlanta

Относительные пути могут оказаться полезными для повторного использования в сценариях. Например, следующий сценарий может быть присоединен к фрагменту ролика, который увеличивает размеры родителя на 150 %.

onClipEvent (load) { _parent._xscale
= 150; _parent._yscale = 150;
}
onClipEvent (load) { _parent._xscale = 150; _parent._yscale = 150; }
onClipEvent (load) {    _parent._xscale 
= 150;    _parent._yscale = 150; 
}

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

 В версиях Flash Lite 1.0 и 1.1 сценарии могут присоединяться только к кнопкам. Присоединить сценарий к фрагменту ролика нельзя.

При использовании как абсолютного, так и относительного пути на временной шкале может быть определена переменная или свойство объекта с точкой (.), за которой следует имя переменной или свойства. Например, следующий оператор присваивает переменной name экземпляра form значение Gilbert.

_root.form.name = "Gilbert";
_root.form.name = "Gilbert";
_root.form.name = "Gilbert";

Использование абсолютных и относительных целевых путей

Сценарий ActionScript позволяет отправлять сообщения из одной временной шкалы в другую. Временная шкала, которая содержит действие, называется управляющей временной шкалой, а та, которая получает действие, — целевой временной шкалой. Например, в последнем кадре первой временной шкалы может быть задано действие, которое запускает воспроизведение другой временной шкалы. Для обращения к целевой временной шкале указывается целевой путь, который задает местонахождение фрагмента ролика в списке отображения.

В следующем примере показана иерархия документа westCoast на уровне 0, в котором содержатся три фрагмента ролика: california, oregon и washington. Каждый из них, в свою очередь, содержит еще по два фрагмента ролика.

_level0
westCoast
california
sanfrancisco
bakersfield
oregon
portland
ashland
washington
olympia
ellensburg
_level0 westCoast california sanfrancisco bakersfield oregon portland ashland washington olympia ellensburg
_level0 
        westCoast 
                california 
                        sanfrancisco 
                        bakersfield 
                oregon 
                        portland 
                        ashland 
                washington 
                        olympia 
                        ellensburg

На веб-сервере каждая временная шкала в Animate может быть адресована двумя способами: по абсолютному и по относительному пути. Абсолютный путь экземпляра всегда представляет собой полный путь от имени уровня, независимо от временной шкалы, вызвавшей действие, например абсолютный путь к экземпляру california будет равен _level0.westCoast.california. Относительный путь имеет различный вид при вызове из разных мест, например относительный маршрут до california из sanfrancisco будет равен _parent, но из portland — уже _parent._parent.california.

Задание целевых путей

Для управления фрагментом ролика, загруженным SWF-файлом или кнопкой, необходимо указать целевой путь. Это можно сделать либо вручную, либо с помощью диалогового окна «Вставить целевой путь», либо создав выражение, результатом которого является целевой путь. Чтобы задать целевой путь для фрагмента ролика или кнопки, необходимо назначить для них имя экземпляра. Загруженному документу не требуется имя экземпляра, так как в качестве него используется номер уровня (например, _level5).

Назначение имени экземпляра фрагменту ролика или кнопке

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

Задание целевого пути в диалоговом окне «Вставить целевой путь»

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

    Он становится управляющей временной шкалой.

  2. На панели «Действия» («Окно» > «Действия») перейдите к панели инструментов «Действия» слева и выберите действие или метод, для которых требуется целевой путь.
  3. Щелкните поле параметра или место в сценарии, куда должен быть вставлен целевой путь.
  4. Нажмите кнопку «Вставить целевой путь»  над панелью «Сценарий».
  5. Выберите «Абсолютный» или «Относительный» режим целевого пути.
  6. Выделите фрагмент ролика в списке отображения «Вставить целевой путь» и нажмите кнопку ОК.

Задание целевого пути вручную

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

    Он становится управляющей временной шкалой.

  2. На панели «Действия» («Окно» > «Действия») перейдите к панели инструментов «Действия» слева и выберите действие или метод, для которых требуется целевой путь.
  3. Щелкните поле параметра или место в сценарии, куда должен быть вставлен целевой путь.
  4. Введите абсолютный или относительный целевой путь на панели «Действия».

Использование выражения в качестве целевого пути

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

    Он становится управляющей временной шкалой.

  2. На панели «Действия» («Окно» > «Действия») перейдите к панели инструментов «Действия» слева и выберите действие или метод, для которых требуется целевой путь.
  3. Выполните одно из следующих действий.
    • В поле параметров введите выражение, результатом которого является целевой путь.

    • Щелкните, чтобы поместить курсор вставки в сценарий. Затем в категории «Функции» на панели инструментов «Действия» дважды щелкните функцию targetPath. Функция targetPath преобразует ссылку на фрагмент ролика в строку.

    • Щелкните, чтобы поместить курсор вставки в сценарий. Затем в категории «Функции» панели инструментов «Действия» выберите функцию eval. Функция eval преобразует строку в ссылку на фрагмент ролика, по которой могут вызываться методы, например play.

      Следующий сценарий присваивает переменной i значение 1. Затем применяется функция eval для создания ссылки на экземпляр фрагмента ролика и присваивания ее переменной x. Переменная x становится ссылкой на экземпляр фрагмента ролика и может использоваться для вызова методов объекта MovieClip.

      i = 1; x = eval("mc"+i); x.play(); // это эквивалентно mc1.play();

      Функция eval может также применяться для прямого вызова методов, как показано в следующем примере.

      eval("mc" + i).play();

Получайте помощь быстрее и проще

Новый пользователь?