Просмотр полной версии : Автоматическая глобализация всех переменных фильма
У меня такая проблема, есть фильм, в нем мувиклипы, они используют одни и те же переменные. Чтобы наладить обмен переменными между мувиклипами приходится из глобалайзить в одном клипе, а в другом клипе получать, что очень неудобно. Переводить глобальные переменные в локальные приходится, чтобы вывести их с помощью dynamic text.
Пример того, что я делаю:
мувиклип 1:
_global.a = a;
_global.b = b;
_global.c = c;
("запаковка" переменных в глобальные)
мувиклип 2:
a = _global.a;
b = _global.b;
c = _global.c;
("распаковка" переменных)
Этот процесс в каждом мувиклипе отнимает кучу времени и приводит к появлению ошибок по невнимательности (забыл переменныю глобализировать где-то и все уже не работает). Вопрос, можно ли как-то все переменные сделать по умолчанию глобальными во всем фильме или как-то более удобно наладить процесс работы с ними?
хмхмхм.... Неужели никто не сталкивался с такой проблемой? :confused:
да собственно проблемы-то нет:
_global виден отовсюду , можешь из разных мувиков обращаться к _global.b просто к как b без всякой запаковки/распаковки..
ps: только чтобы переменной с таким же имением не было в самом мувике и по дороге (в цепочке областей видимости) к _global
net, ne mogu obrawatjsja bez prefixa _global. Pitalsja ja vivoditj znachenije peremennoj dynamic textom, ispoljzuja prosto imja peremennoj, no nichego ne vishlo.
KidsKilla
20.01.2006, 21:27
MovieClip.prototype.parametersToGlobal = function(){
for(var i in this) _global[i] = this[i];
}
MovieClip.prototype.parametersFromGlobal = function(){
for(var i in _global) this[i] = _global[i];
}
my_mc.parametersToGlobal()
my_mc.parametersFromGlobal()
Nox Noctis
20.01.2006, 21:50
во-первых можно просто использовать везде _global.a, _global.b и _global.с в обоих мувиклипах.... при каждом обращении. но это несколько громоздко.
во-вторых можно в обоих клипах ничего в глобал не передавать, а при необходимости обращаться из одного клипа в другой, узнавая текущие значения переменных.
вообще-то необходимость таких манёвров кажется мне сомнительной :)
опиши ситуацию подробнее...
2KidsKilla, нюанс: придется вызывать метод после определения всех свойств,
свойство, добаленное 'потом' не в зачет:
MovieClip.prototype.parametersToGlobal = function(){
for(var i in this) _global[i] = this[i];
}
my_mc.parametersToGlobal();
my_mc.prop='myProp';
ASSetPropFlags(_global,null,0,1);
for(var i in _global) {
if(i=='prop')trace(i)
}
зы: ба!, какие люди.. 'сомнительной', это мягко сказано
KidsKilla
20.01.2006, 23:42
я не говорю о достоинствах или недостатках метода. только прототипы перевода параметров из глобала и в глобал.
и всё. ясенпень такое яп не использовал...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.