![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Nov 2012
Сообщений: 3
|
Есть 9 кнопок. На каждую кнопку наложен свой семпл, который проигрывается при нажатии на кнопку мышью. Как привязать каждую кнопку к клавишам на клавиатуре (numpad 1-9). Делается нечто вроде эмулятора Akai MPC. Заранее спасибо.
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Кнопки не надо никуда привязывать. Надо подписаться на события от клавиатуры и вызывать по ним те же обработчики событий, которые сейчас вызываются кнопками.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Nov 2012
Сообщений: 3
|
Дело в том что я новичок во Флеше, пока что изучаю литературу, а хотелось бы сейчас сделать этот эмулятор. Я думаю код небольшой должен быть для вызова сэмпла из библиотеки. Если вас не затруднит, не могли бы вы написать код для одной клавиши "numpad 1".
ЗЫ. Привязку к кнопкам хотел, потому что на кнопках анимация - при нажатии кнопка как бы продавливается. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Значит придется сделать в классе кнопок публичные методы, запускающие анимацию.
Мне очень странно слышать, как человек, который пишет Приложение, просит написать за него трехстрочный код обычного добавления слушателя. Читайте справку. Копипастить чужой код это не то, чему я хотел бы учить новичков.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Nov 2012
Сообщений: 3
|
Дело в том, я не программист. И пишу я небольшую игрушечку такую, чтобы можно было побаловаться подобием драм машины. Ну и соответственно сам флеш мне интересен. Вот только я пока доберусь до классов и объектов пройдет много времени, а побаловаться охота сейчас.
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Объясню, как у нас тут принято вообще.
Вы что-то делаете. Вы пишете какой-то код, он не работает и Вы обращаетесь за помощью. Вы показываете свой код, описываете, что Вы хотели получить, и что Вас не устраивает в полученном результате. Если есть сообщения об ошибках от компилятора или в рантайме, честно показываете эти ошибки. И мы стараемся помочь коллеге. Сейчас Вы просите написать для Вас приложение, потому что Вам хочется его срочно, а учиться писать самому — долго. Для таких ситуаций есть раздел Вакансии или сайты фрилансеров, охотно выполняющих подобные заказы за небольшой гонорар. Здесь помогают, а не "делают за". Важно Ваше участие в процессе. Примеры кода, подробности задачи, Ваши мысли и представления, конкретные затруднения и непонятки. Это вызывает желание разбираться, помогать и объяснять. Предложение "сделать для вас" вызывает только желание получить вознаграждение за свой труд. Такой вот парадокс. За просто так мы можем предложить Вам только Обучение мастерству и Знания. Всего лишь. Добавлено через 4 минуты Цитата:
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Nov 2012
Сообщений: 30
|
Вот код
registr_user.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler_11); user_sexi1.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler_12); user_sexi2.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler_13); userloader.addEventListener(Event.COMPLETE, userLoader); registr_user.addEventListener(KeyboardEvent.KEY_DOWN, fl_MouseClickHandler_11); var sexi:String; var sexis:String; var userloader:URLLoader = new URLLoader(); userloader.load(new URLRequest("user.xml")); var userXML:XML; var userList:XMLList; function userLoader():void { userXML = XML(userloader.data); trace(userXML); } function fl_MouseClickHandler_12(event:MouseEvent):void { sexi = user_sexi1.label; } function fl_MouseClickHandler_13(event:MouseEvent):void { sexis = user_sexi2.label; } function fl_MouseClickHandler_11(event:MouseEvent,KeyboardEvent):void { registr_user.keyCode = 13 var user_login:String = user_login.text; var user_password:String = user_password.text; var repeat_password:String = repeat_password.text; var user_email:String = user_email.text; var i:int = 1; var id:Number; if (sexi == user_sexi1.label) { trace(user_sexi1.label); } else { sexi = sexis; } var user:XML = <user />; user. @ id = id; user.user_login = user_login; user.user_password = user_password; user.repeat_password = repeat_password; user.email = user_email; user.sexi = sexi; if (user_login =="" &&user_password == "" &&repeat_password == "" &&user_email == "") { trace(error_text.text = ("Ошибка! Вы не заполнили все поля.")); } else if (repeat_password != user_password) { trace(error_password.text = ("Пароли не совпадают!")); } else { var phpRequest:URLRequest = new URLRequest('user.php'); phpRequest.data = user; phpRequest.contentType = 'text/xml'; phpRequest.method = URLRequestMethod.POST; var phpLoader:URLLoader = new URLLoader(); phpLoader.load(phpRequest); trace(text_result.text = ("Регистрация прошла успешно. Вы можете войти в чат.")); } } Попутно еще два вопроса: в этом же коде не получается сделать проверку логина на повторяемость и проверку пароля на количество символов. Помогите пожалуйста. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Что такое "registr_user" и есть ли у него свойство keyCode , я не в курсе, Вам виднее. if (user_login =="" &&user_password == "" &&repeat_password == "" &&user_email == "") { trace(error_text.text = ("Ошибка! Вы не заполнили все поля.")); } Добавлено через 10 минут else { if (repeat_password != user_password) { trace(error_password.text = ("Пароли не совпадают!")); return; } if(repeat_password.length < 5) { trace(error_password.text = ("Пароль должен содержать не менее 5 символов!")); return; } } Логическое ИЛИ пишется как || А && это логическое И. То есть у Вас условие "если (поле1 пусто) И (поле2 пусто) И (поле3 пусто)... А должно быть ИЛИ: if (user_login =="" || user_password == "" || repeat_password == "" || user_email == "") { trace(error_text.text = ("Ошибка! Вы заполнили не все поля.")); } Вообще не надо строить хитроумные конструкции из if..else — сами себе жизнь усложняете. Ставьте просто огород "фильтров" из простых if(), но в случае ошибки выводите сообщение и выходите из функции (return), прекращайте таким образом обработку. Юзер должен исправить ошибку и нажать кнопку еще раз. Тогда весь метод запустится с начала, и так пока все проверки не будут удачно пройдены. И еще — вешать клавиатурный слушатель на кнопку бессмысленно. Он сработает, только если кнопка в этот момент будет в фокусе. А она не будет — фокус на текстовом поле, в котором юзер что-то печатал. Вот с них и слушайте ентер.
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|