PDA

Просмотр полной версии : Как присвоит функцию кнопкам?


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
Тьфу блин :)
Пасиба