Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   go to (i) (http://www.flasher.ru/forum/showthread.php?t=32033)

Stone 23.05.2002 16:31

go to (i)
 
при нажатии на кнопку мне надо перейти к энному кадру.
проблема в том что кнопки дублируются из одной. соответственно я не могу написать в каждой го ту. мне надо это сделать в одной , первоначальной, кнопке.

как решается данная проблема?
желательно под 5-ку

lexass 23.05.2002 17:33

ну например вариант (простой):
где дублицируешь, там и переменную засовываешь!
тыж не кнопку дуплицируешь, а МС с батоном ;)

Stone 23.05.2002 18:19

это то да.
только не выходит ничего...
on (press) {
tellTarget ("_root.trak.c") {
gotoAndStop (i);
}
}
причем i трасируется нормально :( и на лэйбл пробовал и на кадр...
не пашет и все :(

lexass 23.05.2002 18:23

давай кусок где дуплиШь :mad:
_root.trak.c.gotoAndStop (i);

Stone 23.05.2002 18:49

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);
}
вот так трасируется нормально... если перенести на строчку вверх то трасировка не работает

lexass 23.05.2002 19:19

on (press) {
_root.trak.c.gotoAndStop (i);
}

Stone 23.05.2002 19:27

а в чем разница?
тоесть спасибо... заработало. только вот почему?

Nox Noctis 23.05.2002 19:58

Цитата:

Оригинал написал(а) Stone
а в чем разница?
разница в том, что в одном случае ты указываешь переменную внутри теллТаргета, а во втором - внутри того клипа где кнопка.
перемести в своем коде трейс внутрь теллТаргета... ну как ? трейсится ? ;)

теллТаргет говорит о том, что ВСЕ идентификаторы внутри должны распознаваться как переменные или объекты _внутри_ того клипа, на который теллТаргет указывает.


Часовой пояс GMT +4, время: 01:57.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.