Невозможно заставить картинку двигаться

Я пытаюсь заставить свой НЛО (класс, написанный заранее, содержащий рисунок GCompound) двигаться по нажатию клавиши. Но я не знаю, почему это не движется. Какие-либо предложения? РЕДАКТИРОВАТЬ: под "нажатием клавиши" я имел в виду начать движение, как только нажата клавиша. Не уверен, что я использовал правильный английский там.

import acm.program.*;
import java.awt.event.*;

public class drawUFO extends GraphicsProgram {
  private static final double UFO_WIDTH = 50;
  private static final double UFO_HEIGHT = 25;

  public void run() {
    setup();
    addKeyListeners();

  }

  public void setup() {
    UFO bowl = new UFO(UFO_WIDTH, UFO_HEIGHT);
    add(bowl, 0, 0);
  }

  public void drift(KeyEvent e) {
    while (getWidth() > bowl.getX() + UFO_WIDTH) {
        bowl.move(5, 0);
        pause(50);
    }
  }

  private UFO bowl;
}

1 ответ

Решение

Таким образом, самой большой ошибкой здесь оказалось неправильное название "движущегося" метода. Я установил это как "дрейф". Тем не менее, существует специальное имя для метода, который реагирует на щелчок мыши, и это mousClicked (). Кроме того, даже если эта часть была исправлена, у меня все равно будет ошибка "Исключение нулевого указателя". Это произойдет на линии:

UFO bowl = new UFO(UFO_WIDTH, UFO_HEIGHT);

Это произойдет из-за затенения. Подробнее об этой ошибке вы можете найти в другом вопросе, который я задавал недавно.

Надеюсь, это поможет кому-то в будущем.

Другие вопросы по тегам