PDA

Просмотр полной версии : Программно привязать к кнопке событие...


udodddd
30.04.2004, 17:22
Всем привет.
Без всяких слюней и смайлов перейду непосредствено к проблеме.
Есть кнопка button. Есть скрипт в первом фрейме, который копирует эту кнопку, множит ее и выстраивает в красивую прямую линию обзывая каждый клон именем "button"+i
Теперь остается посадить на каждую кнопку событие.
Например что бы при нажатие на нее Ты посылылся бы на 3... Не не буквы, фрейма вперед + то же самое i.
И все это из первого фрейма.
А вот как это сделать, я не знаю. Подскажите!

FreeLander
30.04.2004, 17:29
blockListener=new Object();
blockListener.onRelease= function(){
};
button.onRelease= blockListener.onRelease;

udodddd
30.04.2004, 18:15
Спасибо. Все работает.
Ура! Ура! Ура!

sergwizard
01.05.2004, 03:14
Вы видели когда-нибудь, как слепо-глухой-немой разговаривает с глухо-немо-слепым?
Этот топик, по-моему, ярчайший пример такого общения. И что самое интересное, – они понимают друг друга.
Но складывается такое впечатление, что человек разговаривает сам с собою.

Или я неправ? :D

Dindin
01.05.2004, 16:35
Главное - взаимопонимание :D:D:D

silin
02.05.2004, 00:08
а че вы ржете,
blockListener=new Object();
blockListener.onRelease= function(){
_root.gotoAndStop(3+this._name.slice(this._name.length-1));
};
button.onRelease= blockListener.onRelease; такая конструкция будет работать именно как хотел автор
другое дело, что можно проще ..

sergwizard
02.05.2004, 02:12
Silin, то, что такая конструкция будет работать, никто не сомневается. Хотя, как ты заметил, можно и проще. Но, все же это несколько отличается от того, что написал FreeLander. Скорее, он вообще ничего конкретного не написал.
Но удоддд его понял. Удивительное взаимопонимание на уровне "ку-у" и "кю" (Киндзадза). :D

ЗЫ. Нахрен здесь нужен new Object, непонятно?

Dindin
02.05.2004, 12:10
new Object, непонятно?
Все-таки с листенерами объект нужен, имхо. Другой вопрос, что обычно его инициализируют (я инициализирую) так: blockListener = {};
Тот же мембер, только в профиль :)

silin
04.05.2004, 09:34
Все-таки с листенерами объект нужен>
кнопка и сама объект, стало быть здесь не нужен:
button.onRelease=my_onRelease;

Dindin
04.05.2004, 09:43
Хы. Это конечно весело, кнопку использовать в качестве контейнера для listener'a, только как же быть со стандартами ООП всяческими? Хотя, нет, это скорее вопрос личного подхода к написанию кода.

FreeLander
04.05.2004, 13:38
ну вы блин даёте, мужики! :confused:

Меня тут не было несколько дней, а сегодня прочёл все ваши реплики и на ум пришла только одна фраза: "kick the baby"

Конечно может я чего- то туплю, но тем не менее, чел спросил как на кнопку динамически обработчик нажатия посадить - я примерно описал, чел понял.

2sergwizard

все эти выражения о слепо-глухо и т.д., объясни плз: если я чего не то ответил, то чего конкретно. Хоть убей не понятно что вызвало у тебя такую бурную реакцию :)

2silin

твой кусок кода отличается от моего тем что там на одну строку больше, или я чего-то не понимаю, но скажи почему так "проще". Помоему ты ответил детальней, а не проще.

silin
04.05.2004, 16:30
2FreeLander: не так как я написал проще, а можно проще - лишний объект не нужен(имхо):
button.onRelease= function(){
_root.gotoAndStop(3+this._name.slice(this._name.length-1));
};

udodddd
04.05.2004, 19:14
Блин, стоило мне уехать на праздники и...
Остается только поблагодарить всех собравшихся за внимание и столь живой интерес к моей теме.
Большое всем спасибо, товарищи!

FreeLander
04.05.2004, 20:57
ну ты чувак сказанул!:)
нас тут оборжать пытаются, инвалидами почему-то обзывают - а ты им "спаибо"!:)

iLoveYou
04.05.2004, 21:08
Оригинал написал(а) FreeLander
нас тут оборжать пытаются, инвалидами почему-то обзывают
:D
и еще раз :D