Просмотр полной версии : Как вставить переменную ?
motoroller
19.01.2007, 23:00
есть что-то типа
_root.mc1._visible=false;
_root.mc2._visible=false;
_root.mc3._visible=false;
_root.mc0._visible=false;
for (i=0; i<4; i++) {
param='mc'+i;
trace(param);
_root.param._visible=true;
}
как мнес сделать чтобы в эту строку " _root.param._visible=true;
"
вставилось значение переменной param, а не само название param
Спасибо
DarkLight
19.01.2007, 23:15
Вот так:
_root[param]._visible=true;
или
eval(param)._visible=true;
иногда да, но начинающим проче понять eval чем mc[]
по собственному опыту говорю, хотя щаз и время другое...
CorC, eval зло.
А mc[] не зло? :)
Массивы. Но пока толком не разобрался в этом вопросе( потому и спрашиваю, а не утверждаю).
хм, ты хочешь при создании какого-то мува сразу вноситьь его имя\линк в массив?
это точно зло :)
1 как ты оределишь мув в массиве?
2 как ты определишь номер по муву?
это ж скрипт будет километровым
var mcLinks:Array = new Array(3);
//
for (i=0; i<mcLinks.length; i++) {
var mc:MovieClip = this.attachMovie('mc'+i, 'mc'+i, this.getNextHighestDepth(),{_x:i*100+10,_y:Stage.height/2});
mcLinks[i]=mc
}
//
//изменить у всех мувиков видимость
for(i=0;i<mcLinks.length;i++){
mcLinks[i]._visible=false
}
Да нет. Только если их много, то имена в массив.
это будет просто везением если имена клипов похожи,
а если нет то это уже не катит, и приходится как то
обходится без этого, да и раньше я без массива ссылок
обходился, и никто не жаловался :)
var mcNames:Array = ['mc0','mc1','mc2'];
var mcLinks:Array= new Array(3)
//
for (i=0; i<mcNames.length; i++) {
var mc:MovieClip = this.attachMovie(mcNames[i], 'mc'+i, this.getNextHighestDepth(),{_x:i*100+10,_y:Stage.height/2});
mcLinks[i]=mc
}
//
//изменить у всех мувиков видимость
for(i=0;i<mcLinks.length;i++){
mcLinks[i]._alpha=10
}
А я в поиске. Некоторые задачи таким образом очень легко решаются. Например перемасштабирование страницы при изминении размера окна броузера. А клипы можно и одинаково назвать, различия токо по цифрам. Главное оформить библиотеку аккуратно( папки с назаниями групп и т.д.)
Но вы отнеситесь к моим рекомендациям просто как к еще одной точке зрения. :)
поверь мне, проще допустим в 2 for писать mc["f"+i+j] чем искать по массиву, тут лишнее обращение к функции, которая сама уже обращ к обьекту...
иногда мувы не то что изменяются, но еще и удаляются, и создаются по новой, но под др именем...
CorC, новичкам даже не стоит показывать древние методы.
function show_mc() {
for (var mc in _root) {
if (mc.indexOf('mc') == 0) {
_root[mc]._visible = true;
}
}
}
motoroller, я вас предупреждал.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.