Рисование в FLASH

Пример иерархии из 5 объектов



Рисунок 608. Пример иерархии из 5 объектов

Теперь займемся путями. Для начала посмотрим, какие объекты могут обращаться друг к другу по имени: obj 1 может обращаться к obj2, a obj2 — к obj3, но при этом obj 1 не может обратиться к obj3 напрямую, т. к. он содержится не в obj 1, а в obj2.

Пусть, например, объекту 1 нужно, чтобы объект 3 начал заново воспроизводиться с первого кадра. Вот как это делается:

obj 2.obj 3.gotoAndPlay(1)

Чтобы из объекта 4 сделать полупрозрачным объект 1 (со всеми его подобъек-тами), нужно в действиях объекта 4 написать:

_parent.objI._alpha = 50

или

_root.obj1._alpha = 50

Поскольку obj4 находится на первом уровне иерархии, то для него _root и _parent — одно и то же.

Теперь для объекта 3 напишем сценарий, который сделает объект 5 невидимым при нажатии кнопки мыши. В сценарии для объекта 3 напишем:

onClipEvent (mouseDown)
{
_root.obj5._visible = false;


}

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

_parent._parent._parent.objS._visible = false

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

Одними из самых важных являются функции управления воспроизведением мультфильма (play(), stop(), gotoAndPlay(), gotoAndStop()). Функции play() и stop() вызываются без параметров, в то время как в функции goto() нужно указывать номер кадра и, возможно, сцену.

При создании мультфильмов, особенно интерактивных, часто требуется знать положение указателя мыши. Координаты указателя мыши хранятся в свойствах _xmouse и _ymouse. Они могут быть вычислены относительно различных систем координат. Так, в главной системе координат горизонтальная координата курсора мыши определяется следующим образом:

x_pos = _root._xmouse;

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

x_pos = root.myMovieClip. xmouse

Здесь myMovieClip — имя экземпляра клипа.
Вы можете также определить положение указателя мыши внутри клипа, используя свойства _xmouse и _ymouse в действии клипа (clip action), как показано в следующем примере:

nClipEvent (enterFrame)
{
xmousePosition = _xmouse;
ymousePosition = _ymouse;
}

Переменные x_pos и y_pos используются для хранения значений координат указателя мыши. Вы можете применить их далее в любом сценарии вашего мультфильма. В следующем примере значения x_pos и y_pos обновляются каждый раз, когда пользователь перемещает мышь:

onClipEvent(mouseMove)
{
x_pos = root, xmouse; y_pos = _root._ymouse;
}

 


Содержание раздела