Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Как присвоит функцию кнопкам? (http://www.flasher.ru/forum/showthread.php?t=63501)

Horror 07.10.2004 19:21

Как присвоит функцию кнопкам?
 
Существует тьма тьмущая кнопок. Прописывать для каждой из них функции - "ломает"! Есть ли возможность программно присваивать функции кнопкам?

Интересует также вопрос - как запихать программно кнопку в программно создаваемый мувиклип. Так что бы он оказался тут: _root.новыймувиклип.кнопка

Заранее спасиба

Nirth 07.10.2004 21:26

nu mozno tak
gde
Код:

var buttons:Array = new Array ();
buttons[1] = but1Name
buttons[2] = but2Name
.
.
.
buttons[n] = butnName
for (i=0;i < buttons.lenght; i++) {
_root[buttons[1].mySuperPuperFunction () ;
}

no eto chastniy primer.... lu4we bi source dal=)

Horror 08.10.2004 13:26

Пасиб. По идее этого должно хватить :)

Хотя мне еще один вариант тут подсказали.
Пишем в любом месте таймлайна:
Код:

_root.my_btn.onPress = function () {
  trace ("onPress called");
};

Ну и соответсвенно, потом просто в цикл запихать это для всех кнопок... ;)

За вариант спасиба, поэксперементирую с обоими.

Horror 18.10.2004 21:30

Чтото не получается у меня. Не могли бы помочь?
Есть 152 конопки:
a1
a2
...
a152

нужно присвоить каждой свою функцию при наведени.
Через цикл не получается. Почему то отрабатывает только последнее значение цикла.

Не поможете? :(

silin 19.10.2004 00:39

сравни два варианта (думаю дело в этом):
Код:

for(var i=1;i<=152;i++){
        this["a"+i].onRollOver=function(){trace(i)};
}

for(var i=1;i<=152;i++){
        this["a"+i].i=i;
        this["a"+i].onRollOver=function(){trace(this.i)};
}


Horror 19.10.2004 15:53

УРА!
Заработало. Второй пример отлично отрабатывает!
silin спасибо большое. Единственная просьба, не мог бы ты объяснить для чего вот эта строчка, хоть убей не пойму. Не выспался я чтоли...

Код:

this["a"+i].i=i;

Cvazimodo 19.10.2004 16:08

Цитата:

Оригинал написал(а) Horror
не мог бы ты объяснить для чего вот эта строчка, хоть убей не пойму. Не выспался я чтоли...

Код:

this["a"+i].i=i;

Ничего, если я вмешаюсь в разговор?

Эта строчка вот для этого:
trace(this.i);
.

Horror 19.10.2004 16:37

Тьфу блин :)
Пасиба


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

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