Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы (http://www.flasher.ru/forum/forumdisplay.php?f=10)
-   -   Вопрос про иерархию во Флэше (http://www.flasher.ru/forum/showthread.php?t=28564)

[subway]design 15.03.2002 20:32

Мне тожу было сложно немного, так что помогу:

1) Если ты пишешь код в кадре таймлайна клипа "xxx" или пишешь код onClipEvent(...) в этом клипе, а сам клип лежит в корне (_root) - главный клип, стройплощадка, главный таймлайн. В таком раскладе, извне (т.е. из других клипов, лежащих параллельно "xxx") ты можешь обращаться к этому клипу как _root.xxx
Если надо к переменной обратиться, то _root.xxx.variable
Если к ф-ции, то _root.xxx.yourfunction(a,b,c)

2) Если ты вешаешь код на кнопку ( on(release), допустим), а кнопка лежит в руте, то и все ее действия будут направлены к руту, если кнопка лежит внутри "xxx", то обращение

a=b; // будет равносильно _root.xxx.a=b; и будет равносильно this.a=b;

НО! _parent.a=b; будет равносильно _root.a=b;
_parent - это обращение к вышестоящему клипу, в данном случае это рут.

3) Ты можешь употреблять конструкцию _parent._parent.variable, если variable - это переменная даже не "папина", а "дедушкина".
Например:
У тебя есть клип _root.mc1.mc2.mc3 Тогда чтобы из mc3 обратиться к переменной из mc1 (переменная - variable), то можно писать так:

_root.mc1.variable="Hi!";
или
_parent._parent.variable="Hi!";

А, если в клипе _root.mc1.mc2 есть 2 клипа: mc31 и mc32, то чтобы обратиться к mc32 из mc31, надо писать так:

_parent.mc32._x=23;

или (если совсем с головой плохо ;) ):

_root.mc1.mc2.mc32._x=56;

Такие дела. Надеюсь понятно объяснил.
Да, кстати, если будешь двигать/искажать какой-нибудь клип, то и все клипы внутри будут также двигатся/искажатся. Это называется "наследованием" (одним из его побочных явлений)

Удачи!

KostyOr 15.03.2002 20:43

[subway]design
:) Ух, накрутил, спасибо.

(а Папо Карло не твой бот? А то Вы имена одинаковые объектам дали :) )

[subway]design 15.03.2002 20:47

не-а, mc1/2/3 - это стандартный пример, от слова MovieClip, кстати, такие стандарты хороши, очень удобно для читателя.


Часовой пояс GMT +4, время: 17:12.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.