Member 12825358 Ответов: 1

Конкретных чертежей с помощью перекрасить()


Я рисую 5 овалов в методе paint, но борьба, которую я испытываю, заключается в том, чтобы перемещать их индивидуально в разное время с помощью KeyListener.Как мне это сделать? По порядку слов, как нацелить их индивидуально с помощью метода перекраски? Прямо сейчас, если я нажму клавиши со стрелками вверх, вниз, вправо и влево, они все будут двигаться в одно и то же время, чего я не хочу.

Что я уже пробовал:

public void paint(Graphics g) {

g.fillOval(green_x, green_y, 30, 30);
g.fillOval(568, 118, 30, 30); 
g.fillOval(268, 0, 30, 30);
}

public void keyPressed(KeyEvent evt) {
		switch (evt.getKeyCode()) {

		case KeyEvent.VK_LEFT:
		           goLeft();
			   repaint();
			break;

		case KeyEvent.VK_RIGHT:
			     goRight();
			     repaint();

			break;

		case KeyEvent.VK_UP:
			goUp();
                        break;

}
}

1 Ответов

Рейтинг:
0

Richard MacCutchan

Не используйте фиксированные значения, чтобы решить, где рисовать объекты. Создайте класс объектов, который будет содержать детали каждой фигуры. Затем в вашем коде нажатия клавиши вам нужно изменить значения местоположения только для той формы, которая вас интересует. Затем, когда произойдет перекраска, он перекрасит все фигуры,но только одна будет двигаться.