Я програміст-самоучок, тому не знаю правильних способів робити справи. Я створив такі прості ігри, як астероїди та змія, але в цих іграх ви можете легко змінювати змінні в межах функцій keyevent. Ось як я це зробив у своїй простій грі Asteroids:
/*
* key listener events
*/
public void keyReleased(KeyEvent k){
int keyCode = k.getKeyCode();
switch(keyCode){
case KeyEvent.VK_LEFT:
turnLeft = false;
break;
case KeyEvent.VK_RIGHT:
turnRight = false;
break;
case KeyEvent.VK_UP:
accel = false;
break;
case KeyEvent.VK_1:
cls = true;
break;
case KeyEvent.VK_ENTER:
break;
case KeyEvent.VK_SPACE:
fire = false;
}
}
public void keyTyped(KeyEvent K){}
public void keyPressed(KeyEvent k){
int keyCode = k.getKeyCode();
switch(keyCode){
case KeyEvent.VK_LEFT:
turnLeft = true;
break;
case KeyEvent.VK_RIGHT:
turnRight = true;
break;
case KeyEvent.VK_UP:
accel = true;
break;
case KeyEvent.VK_1:
cls = false;
break;
case KeyEvent.VK_ENTER:
clearAllBullets();
break;
case KeyEvent.VK_SPACE:
fire = true;
}
}
Якщо я мав би зробити більш досконалу гру (з головним меню, опціями, основною грою тощо), як мені зробити введення клавіші / миші?
Крім того, якщо я мав би перейти до одиночного гравця, чи повинен я поставити весь код гри в один клас? Чи є спосіб перенести код одного гравця в окремий клас і якимось чином введення ключа все ще змінити змінні та таке?