Невозможно заставить картинку двигаться
Я пытаюсь заставить свой НЛО (класс, написанный заранее, содержащий рисунок 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);
Это произойдет из-за затенения. Подробнее об этой ошибке вы можете найти в другом вопросе, который я задавал недавно.
Надеюсь, это поможет кому-то в будущем.