![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2009
Сообщений: 74
|
Как можно сделать, чтоб выполнялось действие, либо при нажатии кнопки, либо клавиши?
Не получается. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Опишите действие в отдельной функции и вызывайте ее при нажатии на кнопку или на клавишу.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Nov 2008
Адрес: Москва
Сообщений: 92
|
я бы сделал так:
var keyListener:Object = new Object(); Key.addListener(keyListener); keyListener.onKeyDown = enter_btn.onPress = function() { if(Key.getCode()==13||Key.getCode()==0){действие} }; Добавлено через 11 минут хотя, я тут немного подумал, говорят это полезно так будет работать не совсем верно. верно так:Последний раз редактировалось incorp; 21.08.2009 в 13:13. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Apr 2009
Сообщений: 74
|
Что-то не получается. Вот пример
проверка пароля)Пишу общую функцию: function my_func() { if (parole == "Vega") { gotoAndStop("Фильм", 1); } else { gotoAndStop("Ошибка", 1); } } P.S. Получилось так: Всем спасибо за помощь. Последний раз редактировалось Wlspartak; 21.08.2009 в 14:24. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
var keyListener:Object = new Object(); Key.addListener(keyListener); //// keyListener.onKeyDown = function():Void { if(Key.isDown(Key.ENTER)) { my_func(); } } enter_btn.onPress = my_func; И да, в my_func надо поменять область видимости, дописав _root к ссылкам на переменные. Или использовать диспатчер. Добавлено через 3 минуты Т.е. _root.parole и _root.gotoAndStop();
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Apr 2009
Сообщений: 74
|
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Когда Вы пишете a = b, вы же не ставите скобки? В данном случае вы пишете "функция а = функция б". Зачем ее вызывать? Она будет вызвана при нажатии. А если поставите скобки - то будет вызвана сразу. Засуньте туда трейс и проверьте - трейс выведется сразу при запуске флэшки, если Вы поставите скобки. Потому что это будет значить "функция а = результат выполнения функции б", и ф-ия б должна быть выполнена сразу, чтобы получить равенство. Как в случае с
Вы же сразу получаете результат, который и записывается в переменную max? Потому что ф-ия Math.max() была сразу вызвана. Так и здесь.
Добавлено через 16 минут onPress это переменная, хранящая ссылку на функцию. Когда Вы пишете Вы просто присваиваете этой переменной значение - БЕЗЫМЯННУЮ ф-ию. Скобки здесь - не вызов этой ф-ии, а коллектор параметров, которые она принимает, за ним следует тело ф-ии {}. То есть это просто другой случай в плане синтаксиса. function() - вызов, function(){} - cоздание.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Apr 2009
Сообщений: 74
|
Еще раз спасибо за разъяснениие.
Цитата:
|
|
|||||
|
Чуть поправлю гуру.
onPress - это обработчик события, который выполнит событие по ссылке, к которой он приравнен. А function() - это собственно сама фунция, но об этом уже сказано. |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:08. |
|
|
« Предыдущая тема | Следующая тема » |
|
|