Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Как изминить локальную переменную мувика из другого мувика? (http://www.flasher.ru/forum/showthread.php?t=28026)

@leksey 04.03.2002 18:44

Как изминить локальную переменную мувика из другого мувика?
 
Как изминить локальную переменную мувика из другого мувика? Заодно может о eval() черкните пару строчек...

GenaG 04.03.2002 19:16

Ты, вероятно, весьма вольно пользуешься терминологией -- локальной называется переменная, работающая только в пределах одного блока кода (например в цикле for). Таковую переменную никак изменять извне этого блока нельзя -- она по определению действует только внутри блока, потом уничтожается. Доступ к переменной, определенной внутри к.-либо мувика осуществляется так же, как и к любому вложенному мувику -- по абсолютному или относительному адресу:
Код:

_root.MC1.MC2.MyVar
_parent._parent.MC2.MyVar

Относительно eval() К.Мур в чудесном труде ActionScript. Подробное руководство (Cимвол, С-П., 2002) пишет в том смысле, что она обрабатывается флэшем дольше, чем доступ к массиву.
Код:

eval("_root.MC"+2+".MyVar")
_root["MC"+2].MyVar

приведенные примеры идентичны, но второй (по Муру) работает быстрее. Во как

GenaG 04.03.2002 19:20

Да и через eval() ваще невозможно обратиться к элементу массива, поэтому лучше пользоваться доступом к массиву []

@leksey 04.03.2002 19:49

У меня переменная определена внутри блока if() {} в первом кадре - значит изменить ее я не смогу?

GenaG 04.03.2002 20:27

ЛОКАЛЬНАЯ переменная определяется только командой var и только внутри блоков циклов (for, while), фунций, объектов и т.п. Из if локальную переменную задать нельзя (по-моему). Обращайся к своей переменной (если из другого места) по адресу включающего ее мувика + ".VarName". Твой случая ваще к локальным переменным никакого отношения не имеет. Удачи

Papa Karlo 04.03.2002 21:07

Лепи переменную хоть в _роот.ххх, и так и юзай в цикле;
имхо, че то ты там слишком паришся:rolleyes:


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

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