Итак, я пытаюсь сделать очень простую игру на Java с использованием свинга.Это игра типа космических захватчиков, и я успешно запрограммировал космический корабль, который двигается влево и вправо нажатием клавиш.Однако у меня много проблем с отображением «выстрела».
Я пока не собираюсь его позиционировать, я просто хочу создать объект при нажатии клавиш, чтобы он работал.Я предполагаю, так как это изначально не в методе «рисования», поэтому он не появляется.Но я не знаю, как это сделать!Есть идеи?
Для справки приведем текущий код:
public void keyPressed(KeyEvent e) {
if (KeyEvent.VK_RIGHT == e.getKeyCode()) {
moveRight();
}
if (KeyEvent.VK_LEFT == e.getKeyCode()) {
moveLeft();
}
if (KeyEvent.VK_SPACE == e.getKeyCode()) {
shoot();
}
}
public void shoot() {
Laser laser = new Laser(new Point(200, 200));
this.repaint();
}
public void moveLeft() {
if (player.getCentre().getX() <= 20) {
player.setX(20);
} else {
double movement = player.getCentre().getX();
movement -= 10;
player.setX(movement);
}
this.repaint();
}
@Override
public void paint(Graphics g) {
setBackground(Color.black);
super.paint(g);
player.draw(g);
}
Я просто хочу, чтобы Shot () успешно создал объект и показал его на моей панели!