![]() |
Один обработчик для нескольких кнопок
У меня есть 3 кнопки: Button1, Button2, Button3.
Нужно обрабатывать нажатие на каждую кнопку, но прикреплять к каждой кнопке сценарий неудобно. Хочу сделать один обработчик, который будет по-разному реагировать на кнопки. К первому кадру ролика я прикрепляю сценарий: Код AS1/AS2:
при нажатии на кнопку Button1 выведется 0, при нажатии на кнопку Button2 выведется 1, при нажатии на кнопку Button3 выведется 2. На самом деле: при нажатии на любую кнопку выводится 3. Почему так происходит? Потому что создание обработчика - это как бы отложенный вызов функции. Поэтому переменная I успевает стать равной 3, раньше чем запустится обработчик. Именно это значение и выводится. Можно изменить сценарий: Код AS1/AS2:
Короче говоря, в обработчик попадает не значение переменной I, а сама переменная. Оператор trace (I) выводит последнее присвоенное переменной I значение. Вопрос - как у Чернышевского - что делать? Как заставить обработчик иметь дело со старыми значениями переменных? |
как то так
Код AS1/AS2:
|
Не работает.
Вообще, хотелось бы уметь делать один обработчик для многих кнопок. Для каждой кнопки обработчик должен выполняться по-разному, в зависимости от номера кнопки. |
Имеем на сцене кнопки btn1, btn2, btn3.
Тогда: Код AS1/AS2:
Код AS1/AS2:
|
Мункар.... однако ФАК писать надобно, я так думаю :)))))))
Эт какой-то однака типа ну вобщем теряем былую легкость :) |
А если именно кнопки, а не клипы?
|
Цитата:
А вообще отучайтесь использовать как кнопки Button, делайте кнопки все на основе MovieClip. Пригодится, будет меньше проблем, если AS использовать планируете. (У Button куча недостатков). |
| Часовой пояс GMT +4, время: 21:59. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.