PDA

Просмотр полной версии : Как в моем случае сделать переменные глобальными?


3dmax
26.10.2005, 19:41
вобщем хочу чтобы все переменные прочитавшись из файла стали глобальными
но как это написать я не знаю :(
в том месте,где не знаю, я пометил слешами ////
помогите пожалуста :(

вот код :
loadVariablesNum("params.txt", 2);
function checkParamsLoaded() {
if (_level2.done == undefined) {
trace("not yet.");
} else {
trace("finished loading. killing interval.");
trace("-------------");
for (i in _level2) {
trace(i+": "+_level2[i]);
[i]=_level2[i] /////////////////////
}
trace("-------------");
clearInterval(param_interval);
}
}
var param_interval = setInterval(checkParamsLoaded, 100);
stop();

а вот что должно быть в тектовике:
&var1="hello"&
&var2="goodbye"&
&done="done"&
&max=e-moe&
&pic1=port_pic1&

3dmax
27.10.2005, 13:07
Неужели никто не знает как это сделать? :(
мне очень надо
ПОЖАЛУЙСТА !!! :(

unlexx
27.10.2005, 13:16
[i]=_level2[i] - ты это сам придумал или списал откуда?
можешь ничего не делать с переменными, а просто обращаться к ним на уровень 2
ИМХО разницы между _level2.var и _global.var нет

3dmax
27.10.2005, 13:51
Я это сам придумал
поэтому и спросил как правильно надо написать
хотелось бы чтобы в том цикле оно перебрало как бы все переменные и сделало их глобальными вот я и мучаюсь
как это сделать?

3dmax
27.10.2005, 14:49
unlex так как мне правильно написать это?
_global.var :(

unlexx
27.10.2005, 15:08
а зачем тебе именно глобальные переменные?

3dmax
27.10.2005, 15:34
я хочу 1 раз загрузить переменные из файла чтобы они были глобальными
и потом обращаться к ним из любого места
раньше я для каждого момента делал загрузку из файла переменных
но это было плохо
а потом встретил этот код и пришла в голову мысль что стоит только 1 раз загрузить переменные и сделать их глобальными.
Так что, ты знаешь как написать правильно в том месте?

Бармалей
27.10.2005, 16:18
переменные, загруженные во флеш, появляются в руте.
После их загрузки!!! переводишь рутовые переменные в глобальные. Делается это просто:
_global.var = _root.var;
//удаляем, теперь уже не нужную переменную в руте
if(delete _root.var){
trace("переменная удалена");
};

3dmax
27.10.2005, 16:34
Попробовал
сразу выдало ошибку
типа
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 11: Expected a field name after '.' operator.
_global.var = _root.var;

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 13: Expected a field name after '.' operator.
if(_root.var){

Total ActionScript Errors: 2 Reported Errors: 2

3dmax
27.10.2005, 17:35
Я во флеше слабоват конкретно в акшен скриптах поэтому если кто-нить может помогите :(

Бармалей
27.10.2005, 17:39
=)
вешай в руте:
_global.myVar = myVar;
//удаляем, теперь уже не нужную переменную в руте
if(delete myVar){
trace("переменная удалена");
};

3dmax
27.10.2005, 18:13
так что мне так и писать?
loadVariablesNum("params.txt", 2);
function checkParamsLoaded() {
if (_level2.done == undefined) {
trace("not yet.");
} else {
trace("finished loading. killing interval.");
trace("-------------");
for (i in _level2) {
trace(i+": "+_level2[i]);
//[i]=_level2[i] /////////////////////
_global.myVar = myVar; //////////////////////////////
}
trace("-------------");
clearInterval(param_interval);
}
}
var param_interval = setInterval(checkParamsLoaded, 100);
stop();

3dmax
27.10.2005, 18:18
мне надо просто синтаксически правильно написать :confused:

3dmax
27.10.2005, 20:41
И все таки у меня ниче не получается :(
как мне написать надо?

3dmax
27.10.2005, 21:50
Люди помогите пожалуйста !!!!! :(
у меня ниче не получается в этом коде
loadVariablesNum("params.txt", 2);
function checkParamsLoaded() {
if (_level2.done == undefined) {
trace("not yet.");
} else {
trace("finished loading. killing interval.");
trace("-------------");
for (i in _level2) {
trace(i+": "+_level2[i]);
//[i]=_level2[i] /////////////////////----как тут правильно написать ?


}
trace("-------------");
clearInterval(param_interval);
}
}
var param_interval = setInterval(checkParamsLoaded, 100);
stop();
-------------------
в текстовике:
&var1="hello"&
&var2="goodbye"&
&done="done"&
&max=e-moe&
напоминаю мне надо все переменные и их значения сделать глобальными
очень надо :(

3dmax
28.10.2005, 13:13
Неужели мне так никто и не поможет
я не знаю как правильно написать.
помогите пожалуста :(

KidsKilla
28.10.2005, 14:17
этты в ас2 классах понаписал?

trace(i+": "+_level2[i]);
_global[i]=_level2[i]

чем хуже?

3dmax
28.10.2005, 16:03
ООО СПАСИБО БОЛЬШУЩЕЕ
ты как всегда помог :)
а то я уже 3-й день мучаюсь
спасибо