Просмотр полной версии : go to (i)
при нажатии на кнопку мне надо перейти к энному кадру.
проблема в том что кнопки дублируются из одной. соответственно я не могу написать в каждой го ту. мне надо это сделать в одной , первоначальной, кнопке.
как решается данная проблема?
желательно под 5-ку
ну например вариант (простой):
где дублицируешь, там и переменную засовываешь!
тыж не кнопку дуплицируешь, а МС с батоном ;)
это то да.
только не выходит ничего...
on (press) {
tellTarget ("_root.trak.c") {
gotoAndStop (i);
}
}
причем i трасируется нормально :( и на лэйбл пробовал и на кадр...
не пашет и все :(
давай кусок где дуплиШь :mad:
_root.trak.c.gotoAndStop (i);
mc_col = 5;
// КОЛИЧЕСТВО КНОПОК
a = new array();
// масив с именами кнопки
a = ["КТО МЫ", "КТО ВЫ", "ЗАЧЕМ ЭТО НАМ", "ЗАЧЕМ ЭТО ВАМ", "НАШИ АДРЕСА"];
mc_space_y = 50;
// РАССТОЯНИЕ МЕЖДУ КНОПКАМИ
yp = mc._y;
// ОПРЕДЕЛИМ ПЕРВОНОЧАЛЬНОЕ ПОЛОЖЕНИЕ МУВИКА ДЛЯ ПОСЛЕДУЮЩЕГО ОТСЧЕТА
mc._visible = 0;
// СДЕЛАЕМ РОДИТЕЛЯ НЕВИДИМЫМ, ДАБЫ НЕ МЕШАЛ
for (i=0; i<mc_col; i++) {
// СДЕЛАЕМ ЦИКЛ В КОТОРОМ "I" НАРАЩИВАЕТСЯ ПОКА МЕНЬШЕ "MC_COL"
space = i*mc_space_y;
// СОЗДАДИМ ПЕРЕМЕННУЮ "SPACE", КОТОРАЯ БУДЕТ ОТВЕЧАТЬ ЗА ПРОМЕЖУТКИ МЕЖДУ КНОПКАМИ
mc.duplicateMovieClip("mc"+i, i);
// СОБСНО САМО ДУБЛИРОВАНИЕ В КОТОРОМ КАЖДОМУ НОВОРОЖДЕННОМУ МУВИКУ ПРИСВАИВАЕТСЯ ДИНАМИЧЕСКОЕ ИМЯ
mc = this["mc"+i];
// УКОРОТИМ СИНТАКСИС НАПИСАНИЯ ПУТЕМ ПРИСВОЕНИЯ ПУТИ К НОВОМУ ИМЕНИ - ОДНОЙ ПЕРЕМЕННОЙ
space = yp+space;
// ПРИСВОИМ ПЕРЕМЕННОЙ "space" НОВОЕ ЗНАЧЕНИЕ
mc._y = space;
// ТУТ ЗАДАДИМ СВОЙСТВУ "_У" НОВОЕ ЗНАЧЕНИЕ - ПРИРАВНЯЕМ ЕГО ПЕРЕМЕННОЙ "space"
mc.text = a[0+i];
// КАЖДОМУ ТЕКСТОВОМУ ПОЛЮ В НОВОМ ИНСТАНСЕ ПРИСВОИМ СВОЕ ЗНАЧЕНИЕ ПОЛУЧИТСЯ строка ("КНОПКА № " + ПЕРЕМЕННАЯ "i")
mc.nomer = i;
// передоем текстовому полю nomer значение "i"
}
все практически как в исходнике от Уильяма Брэдберри
ну и на кнопке
on (press) {
tellTarget ("_root.trak.c") {
gotoAndStop (nomer);
}
trace (nomer);
}
вот так трасируется нормально... если перенести на строчку вверх то трасировка не работает
on (press) {
_root.trak.c.gotoAndStop (i);
}
а в чем разница?
тоесть спасибо... заработало. только вот почему?
Nox Noctis
23.05.2002, 19:58
Оригинал написал(а) Stone
а в чем разница?разница в том, что в одном случае ты указываешь переменную внутри теллТаргета, а во втором - внутри того клипа где кнопка.
перемести в своем коде трейс внутрь теллТаргета... ну как ? трейсится ? ;)
теллТаргет говорит о том, что ВСЕ идентификаторы внутри должны распознаваться как переменные или объекты _внутри_ того клипа, на который теллТаргет указывает.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.