PDA

Просмотр полной версии : переменная как имя мувика


Aisaid
05.07.2007, 16:56
скажите уважаемые, можно ли использовать переменную (имя мувика) для вызова свойств или управления мувиком?

мне нужно создать тригер - при нажатии на кнопку смотрим какой мувик УЖЕ запущен (активным может быть только один) - плавно его закрываем, и запускаем соответствующий кнопке мувик - в переменную имя текущего мувика

как такое реализовать?

Kikasso
05.07.2007, 17:05
метод watch очень удобен для такого:
http://flasher.ru/forum/showpost.php?p=629804&postcount=8

Aisaid
05.07.2007, 17:48
и как это мне поможет?
если у меня куча мувиков, всё равно прейдётся прогонять на проверку каждый мувик... это неприятно

а по-другому?

Kikasso
05.07.2007, 18:19
Как это? три параметра, название свойства, старое и новое значения.
Как раз ничего проверять и не надо.

Aisaid
05.07.2007, 19:08
это мне позволит следить за одним мувиком, а мне нужно проследить какой из многих мувиков активен, и именно его плавно закрыть, а потом уже запустить мувик соответствующий кнопке
(или я не понимаю как универсально применить watch, или в данном случае универсальности не получится. я уже начал кашу лепить с помощью опроса всех мувиков...)

помогите плиз, никак не разберусь...

Kikasso
05.07.2007, 20:17
function currMan( prop, oldval, newval ){
if(oldval === newval)return oldval;
if(oldval) deactivate( oldval );
if(newval) activate( newval );
return newval;
}
function topMan( prop, oldval, newval ){
if(oldval === newval)return oldval;
if(newval) newval.swapDepths(newval._parent.getNextHighestDepth());
if(oldval) oldval.swapDepths(oldval.savedDepth);
return newval;
}

this.watch("curr", currMan );
this.watch("top", topMan );
var initObj:Object = {
onPress:function(){ curr = this; },
onRollOver:function(){ top = this; },
onRollOut:function(){ top = null; }
}

var mc:MovieClip;
for(i=1; i<10; i++){
mc = attachMovie ("clip", "clip"+i, i, initObj );
mc._x = i*50;
mc.savedDepth = i;
}

function activate(mc:MovieClip):Void{
trace('моя работать: ' + mc);
mc._xscale = mc._yscale = 120;
}
function deactivate(mc:MovieClip):Void{
trace('моя отдыхать: ' + mc);
mc._xscale = mc._yscale = 100;
}
"clip" в библиотеке, код в кадре.

Что такое хорошо?
05.07.2007, 20:26
Или совсем проще - имя последнего активного мувика (кнопки) вставляешь в конец массива.
А потом при выборе следующего мувика, имя предыдущего читаешь из массива, играешь его на закрытие и чистишь массив.

Aisaid
06.07.2007, 13:43
Или совсем проще - имя последнего активного мувика (кнопки) вставляешь в конец массива.
А потом при выборе следующего мувика, имя предыдущего читаешь из массива, играешь его на закрытие и чистишь массив.

Вот! это было бы совсем сладко :)
если имя мувика хранится в переменной, как обратиться к этому мувику?
(щас только нащупал команду tellTarget - она?)

etc
06.07.2007, 14:13
tellTarget умер 7 лет назад.

Обратиться можно через операторы доступа к массиву.

Aisaid
06.07.2007, 16:31
нужны перламутровые пуговицы - ищи...

что, трудно подсказать если знаете?
абыдно... :)

с массивами ни разу не знаком...

etc
06.07.2007, 16:33
Я дал ответ.