Я программист-самоучка, поэтому я не знаю, как правильно делать вещи. Я сделал простые игры, такие как астероиды и змеи, но в этих играх вы можете легко изменять переменные в функциях keyevent. Вот как я это сделал в своей простой игре «Астероиды»:
/*
* 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;
}
}
Если бы я должен был сделать более продвинутую игру (с главным меню, опциями, основной игрой и т. Д.), Как мне сделать ввод с помощью клавиши / мыши?
Кроме того, если бы я пошел в одиночную игру, я должен поместить весь код игры в один класс? Есть ли способ поместить однопользовательский код в отдельный класс и каким-то образом сделать так, чтобы ввод ключа по-прежнему изменял переменные и тому подобное?