Просмотр полной версии : Как кодом (as3) сказать кнопке, что она кликнута?
Как кодом (as3) сказать кнопке что она кликнута.. Мне нужно обратиться к кнопке через диспатч и сказать ей что на неё нажали..?
2 gonzo:
Что значит "сказать"? И для какой версии ActionScript?
2 gonzo:
Что значит "сказать"? И для какой версии ActionScript?
для as3
у меня есть функция которая вызывается нажатием на кнопку - "btn1" .Кнопка находится в месте .А. допустим. Проблема в том, что к нажатию кнопки надо обратиться из другого места. Мето .Х. например. Так вот что надо сделать
событие продиспатчил в месте Х: this.dispatchEvent(new Event('go_click_btn1',true));
теперь мне надо сказать кнопке "btn1" в месте .А., что она была кликнута...
addEventListener('go_click_btn1', CLIK_Btn1);
function CLIK_Btn1(e:Event=null):void
{ ???????????????????????
2 gonzo:
Кнопка находится в месте .А.
Нет во Flash'е такого понятия, как "место". Вы говорите о кадрах? О кадрах каких таймлайнов? Или вы говорите о коде подключаемых классов?
// Добавление слушателя
button.addEventListener(MouseEvent.CLICK, buttonClick);
// Определение обработчика с опциональным параметром
function buttonClick(event:MouseEvent = null):void { /* Что-то делаем тут */ }
// Вызов функции-обработчика без параметра
buttonClick();
2 gonzo:
Нет во Flash'е такого понятия, как "место". Вы говорите о кадрах? О кадрах каких таймлайнов? Или вы говорите о коде подключаемых классов?
// Добавление слушателя
button.addEventListener(MouseEvent.CLICK, buttonClick);
// Определение обработчика с опциональным параметром
function buttonClick(event:MouseEvent = null):void { /* Что-то делаем тут */ }
// Вызов функции-обработчика без параметра
buttonClick();
из разных мест это из разных мувиклипов, которые стаян на сцене в разных местах..
что означает { /* Что-то делаем тут */ } ??
2 gonzo:
Так вопрос теперь только в том, чтобы из одного обьекта обратиться к функции, описанной на таймлайне другого. Об этом уже создано много тем на форуме.
Между фигурными скобками { и } определяется тело функции. То есть, то, что она должна делать.
Между конструкциями /* и */ можно писать многострочные комментарии.
2 gonzo:
Так вопрос теперь только в том, чтобы из одного обьекта обратиться к функции, описанной на таймлайне другого. Об этом уже создано много тем на форуме.
Между фигурными скобками { и } определяется тело функции. То есть, то, что она должна делать.
Между конструкциями /* и */ можно писать многострочные комментарии.
ок, допустим я через диспатч обращаюсь к кадру в мувиклипе, в котором код который говорит что кнопка была нажата... есть такой код?
2 gonzo:
Мне очень сложно вас понимать, потому что я не знаю, что такое "диспатч".
Код может "говорить, что кнопка была нажата", как по мне, в том случае, если подразумевается установка/проверка значения какой-то переменной. Вы это в виду имеете? Мне кажется, вам лучше просто написать, что есть и что нужно получить в результате - так вам скорее помогут.
ок. есть два мувиклипа М1 и М2. В М1 есть кнопка, которая при нажатии вызывает действе D, так? В мувиклипе М2 тоже есть кнопка которая при нажатии переходит в определенный кадр- К50, мувиклипа М1. Есть ли какаой нибуть код, который можно написать в кадре К50 мувиклипа M1 чтобы попав на него выполнилось действие D?(которое выполняется при нажатии на кнопку из М1)?
Ужоснах..... я ушел в ребут-брейн 2 раза пока постигал смысл
................................
используйте функции, заместо действия D используйте function D(){} а внутри клипа М1 в кадре 50 пишите _root.d()
2 gonzo:
Ну вот, склепал такое...
Запускайте FLA и смотрите trace'ы.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.