24.01.2012 / 21:41 | |
Dimon638 Пользователь Сейчас: Offline
Регистрация: 12.04.2011
| А когда я пишу обработчик нажатий например на команду выход, для этого надо создавать команду выхода ? Илиtreut, команды создаются только для интерфейса высокого уровня(По крайней мере именно там их лучше всего можно и нужно юзать). Когда выходишь через канвас, то создание команды заменяется просто условием типа "if(Key==KEY_NUM5){Main.main.destroyApp(true);}" и тем, что бы юзер понял что выходить надо именно по клавише 5, то надо всего лишь нарисовать для него drawString("5-выход",0,0,20); (Это заменяет кнопку с прослушкой комманд (ведь само условие реагирования на клавишу уже готово) в выс. ур. интерфейсе). Можно правда и в канвас добавлять команды из выс. ур. , но тогда будут глюки, типа при нажатии на софты канвас будет "обрезаться" и вообщем как-нибудь лагать, чтобы поверх канваса отобразились кнопки из выс. ур. Что не очень выглядит и работает(Лучше делать всё в канве без выс. ур.) Как сделать обработку нажатий на клавишу -5 и -6 ?ну просто вот приблизительно так
if(Key==-5){//одно действие} if(key==-6){//другое}
|
24.01.2012 / 21:42 | |
treut Пользователь Сейчас: Offline
Имя: Treut Откуда: World Wide Web Регистрация: 25.10.2011
| Да я про другое, что бы в канвасе например нажимаеш на клавишу с кодом которая -6 и приложение например закрывается, обработка нажатий клавиш
|
24.01.2012 / 21:46 | |
BPS Супермодератор Сейчас: Offline
Имя: Лолка какая-то Откуда: Ponyland Регистрация: 15.12.2011
| treut, // где-то в коде
if (key==-5) {
ololo;
}
if (key==-6) {
trololo;
}
// Обработка клавиш
protected void keyPressed(int keyCode) {
key = getGameAction(keyCode);
}
protected void keyRepeated(int keyCode) {
key = getGameAction(keyCode);
}
protected void keyReleased(int keyCode) {
key = keyCode = 0;
}
Изменено BPS (24.01 / 21:47) (всего 2 раза) |
24.01.2012 / 22:14 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| BPS, А зачем key=getGameAction(keyCode)?
|
24.01.2012 / 22:21 | |
treut Пользователь Сейчас: Offline
Имя: Treut Откуда: World Wide Web Регистрация: 25.10.2011
| Скажите, а вот нажал юзер выйти, а потом передумал , как сделать команду которая обратно вернет к приложению, и как сделать что бы когда он нажал на кнопку выйти, вылезло сообщение, типа действительно хотите выйти- это надо новый канвас например создавать?
|
24.01.2012 / 22:26 | |
Dimon638 Пользователь Сейчас: Offline
Регистрация: 12.04.2011
| treut (24.01.2012/21:21)Скажите, а вот нажал юзер выйти, а потом передумал , как сделать команду которая обратно вернет к приложению, и как сделать что бы когда он нажал на кнопку выйти, вылезло сообщение, типа действительноНу если приложение уже закрылось, то его только можно ещё раз запустить А вообще уже странные вопросы пошли, тут уж как хочешь так и делаешь "вопрос выходить или нет" |
24.01.2012 / 22:51 | |
treut Пользователь Сейчас: Offline
Имя: Treut Откуда: World Wide Web Регистрация: 25.10.2011
| я создал новый класс канвас, поместил в него картинку, потом в слушателе нажатий клавиш написал так .... if(kc == -7) { canvas.setCurrent(name_dr_canv); } И понял что не правильно, не подскажите как показывать другие классы
|
24.01.2012 / 23:00 | |
dzanis Пользователь Сейчас: Offline
Имя: Жаник Откуда: Rezekne Регистрация: 18.11.2010
| treut, Ты хочешь для того чтоб подтвердить выход создать новый класс наследуемый от канвас?Даже в такой игре как ГоФ2 один канвас. Сделай метод в этом же классе.В методе всё нарисуй и поставь условия на нажаты клавиши
|
24.01.2012 / 23:04 | |
treut Пользователь Сейчас: Offline
Имя: Treut Откуда: World Wide Web Регистрация: 25.10.2011
| Я просто не умею, поэтому спрашиваю, в учебнике я этого не увидел а охото знать очень. но у самого реализовать не получается, можно я в лс постучу? |
24.01.2012 / 23:49 | |
Andrey Пользователь Сейчас: Offline
Имя: Андрей Откуда: Запорожье Регистрация: 24.10.2011
| Чувак не ужели ты не можешь включить мозг? Например ты находишся в меню игры и курсор на кнопке выход,ты нажимаешь ок: бесконечный цикл { if (kury=200 && KEY_NUM5) { splashVibor=1; } } public void paint(Graphics g) { if (splashVibor==1 ) { g.drawImage(splash,0,0,20); } }
|