| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Flash > Команда кнопок и один обработчик |
| Автор: BISON* 5.12.2005, 18:31 |
| Дано создал команду кнопок при помощи attachMovie Вопрос Как сделать чтобы при нажати на любую из кнопок, вызывался один обработчик, где в нем я мог бы получить имя вызвавшей кнопки? |
| Автор: MOHCTEP 6.12.2005, 00:09 |
| Через ссылку, при аттаче. Ну примерно так: // аттачим 10 кнопок for(var i=0;i<10;i++){ var mc=this.attachMovie("linkage_name", "new_name"+i,getNextHighestDepth()); mc.onPress=oops(this) } function oops(mc){ trace(mc._name); } |
| Автор: AlDev 6.12.2005, 07:04 | ||||||||
| вариант 1-й: прописать в кнопке, которую аттачишь:
вариант 2-й: сделать наследование от MovieClip и приписать класс
и приписываешь as2 class для всех кнопок в библиотеке килбо извращаешься с registerClass вариант 3-й (как написал некто MOHCTEP, только с небольшой вариацией) функцию можно объявить таким образом:
this в данном случае будет в коде функции ссылаться на b_1. ну и ещё один вариант (из разряда маловероятного
|
| Автор: BISON* 7.12.2005, 08:02 |
| MOHCTEP и Alex Batsuev Благодарю за советы, они очень помогли!!!!!! Alex Batsuev я воспользовался 3 вариантом, он очень хорошо подходит для моей реализации!!!! Все получилось!!! |
| Автор: BISON* 12.12.2005, 13:51 | ||
| Возникла такая проблема,что внутри обработчика onLoad, присваивая функцию для события клика по кнопке, это событие не отрабатывается, но кнопки рисуются, а вот кнопки добавленные с символа bt1, все ОК... рисуются и обрабатывают событие замечетельно!!!! Вообщем парадокс да и только! уперся в эту проблему, теперь думаю ее разрешить!! DataGeo -это классы в которых все ОК!!
Буду рад любым предположениям, почему это не работает!! |
| Автор: BISON* 14.12.2005, 08:52 |
| Мне удалось разрешить эту проблему, сделав что после прохода цикла я вызываю функцию, которая всем приатаченым кнопкам присваивает обработчик события!!!!! но все таки непонятно, почему внутри того цикла не присваивалась функция обработки? (это так и осталось тайной |
| Автор: AlDev 14.12.2005, 12:09 | ||||
удивительно, что это вообще работало. q - объект класса loadVars. ты перегружаешь метод этого класса, следовательно ссылка на this будет ссылкой на q. А потом ты используешь методы MovieClip. не указывая ни пути, ни чего-либо ещё. Как это вообще могло работать? и вообще много замечаний по коду. например зачем объявлять переменные в movieClip-е если они используются только в методе?
|