28.12.2011 / 19:02 | |
Dimon638 Пользователь Сейчас: Offline
Регистрация: 12.04.2011
| BPS (28.12.2011/17:02)Dimon638, int key = getKeyStates(); if ((key & RIGHT_PRESSED) != 0) { speed++; } else if ((key & LEFT_PRESSED) != 0) { speed-=10; }
BPS, аа, ну в обычном тоже можно, правда несколько иначе вот пример: ...
int key;
public void paint(Graphics g)
{
...
if(key==RIGHT){//нажаали джой вправо(или 6)}
if(key==KEY_POUND){//нажали решётку}
ну и т. д.
...
}
...
public void keyPressed(int k){key=getGameAction(k);}
public void keyRepeated(int k){key=getGameAction(k);}
public void keyReleased(int k){key=k=0;}
...
|
28.12.2011 / 19:03 | |
BPS Супермодератор Сейчас: Offline
Имя: Лолка какая-то Откуда: Ponyland Регистрация: 15.12.2011
| Dimon638, Спасибо, откатываю
|
28.12.2011 / 19:32 | |
LPzhelud Пользователь Сейчас: Offline
Имя: Коля Откуда: Москва Регистрация: 02.06.2010
| Зверс написал хороший пост, только зачем-то его удалил. Он прав, если неправильно распланировать архитектуру, то при маленьком фпс в геймканвасе будет казаться, что ничего и не тормозит
__________________
Эль Презеденте |
29.12.2011 / 14:16 | |
BPS Супермодератор Сейчас: Offline
Имя: Лолка какая-то Откуда: Ponyland Регистрация: 15.12.2011
| Dimon638, Не реагирует на решётку
|
29.12.2011 / 14:27 | |
ScRoLiS Пользователь Сейчас: Offline
Регистрация: 28.06.2010
| BPS, int key;
public void paint(Graphics g) {
if(key==KEY_POUND){//нажали решётку}
}
public void keyPressed(int keyCode) {
key=keyCode;
}
public void keyRepeated(int keyCode) {
key=keyCode;
}
public void keyReleased(int keyCode) {
key=0;
}
__________________
Чпок... Добрый вечер! |
29.12.2011 / 17:40 | |
treut Пользователь Сейчас: Offline
Имя: Treut Откуда: World Wide Web Регистрация: 25.10.2011
| Скажите пожалуйста, можно ли в канвасе к команде "привязать" картинку, и если да,то как пожалуйста.
|
29.12.2011 / 18:01 | |
Dimon638 Пользователь Сейчас: Offline
Регистрация: 12.04.2011
| BPS, короче придется две переменные юзать: одну для игровых клавиш, с помощью метода getGameAction(int KeyCode) (влево/вправо/вверх/вниз)(то что в моём коде), другую для остальных клавиш(KEY_POUND, KEY_STAR, а так же от "KEY_NUM0" до "KEY_NUM9" и ещё некоторых)(то что в коде ScRoLiS'а ). Короче, вот ...
int key,key2;
public void paint(Graphics g)
{
...
if(key==RIGHT){//нажаали джой вправо(или 6)}
if(key2==KEY_POUND){//нажали решётку}
ну и т. д.
...
}
...
public void keyPressed(int Code){key=getGameAction(Code); key2=Code;}
public void keyRepeated(int Code){key=getGameAction(Code); key2=Code;}
public void keyReleased(int Code){key=key2=0;}
...
Изменено Dimon638 (29.12 / 18:02) (всего 1 раз) |
29.12.2011 / 18:38 | |
BPS Супермодератор Сейчас: Offline
Имя: Лолка какая-то Откуда: Ponyland Регистрация: 15.12.2011
| Dimon638, ScRoLiS, спасибо, теперь всё ок
|
30.12.2011 / 04:05 | |
Dmitriy Пользователь Сейчас: Offline
Имя: Дмитрий Откуда: В тайге живу Регистрация: 07.03.2010
| Несколько вопросов: Random.nextInt(int n) генерирует числа включая n? И ноль? Доступ к локальной быстрее чем к элементу массива объектов? И есть ли приоритет у слоёв LayerManager?
|
30.12.2011 / 11:18 | |
LPzhelud Пользователь Сейчас: Offline
Имя: Коля Откуда: Москва Регистрация: 02.06.2010
| Dmitriy, 1. Исключая. Читай документацию 2. Быстрее 3. Есть. Читай документацию
__________________
Эль Презеденте |