Просмотр полной версии : Как изминить локальную переменную мувика из другого мувика?
Как изминить локальную переменную мувика из другого мувика? Заодно может о eval() черкните пару строчек...
Ты, вероятно, весьма вольно пользуешься терминологией -- локальной называется переменная, работающая только в пределах одного блока кода (например в цикле for). Таковую переменную никак изменять извне этого блока нельзя -- она по определению действует только внутри блока, потом уничтожается. Доступ к переменной, определенной внутри к.-либо мувика осуществляется так же, как и к любому вложенному мувику -- по абсолютному или относительному адресу:_root.MC1.MC2.MyVar
_parent._parent.MC2.MyVar
Относительно eval() К.Мур в чудесном труде ActionScript. Подробное руководство (Cимвол, С-П., 2002) пишет в том смысле, что она обрабатывается флэшем дольше, чем доступ к массиву. eval("_root.MC"+2+".MyVar")
_root["MC"+2].MyVar
приведенные примеры идентичны, но второй (по Муру) работает быстрее. Во как
Да и через eval() ваще невозможно обратиться к элементу массива, поэтому лучше пользоваться доступом к массиву []
У меня переменная определена внутри блока if() {} в первом кадре - значит изменить ее я не смогу?
ЛОКАЛЬНАЯ переменная определяется только командой var и только внутри блоков циклов (for, while), фунций, объектов и т.п. Из if локальную переменную задать нельзя (по-моему). Обращайся к своей переменной (если из другого места) по адресу включающего ее мувика + ".VarName". Твой случая ваще к локальным переменным никакого отношения не имеет. Удачи
Papa Karlo
04.03.2002, 21:07
Лепи переменную хоть в _роот.ххх, и так и юзай в цикле;
имхо, че то ты там слишком паришся:rolleyes:
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.