Я занимаюсь разработкой простой игровой платформы на Java с использованием BlueJ.
В течение следующих нескольких недель я буду публиковать несколько вопросов с просьбой о помощи в этом проекте, так как я не очень опытен в программировании. Поэтому я надеюсь, что я не стану раздражать, и я был бы очень признателен, если бы вы могли любезно помочь мне.
В моей игре у меня есть метод gameOver, который завершает игру и выводит оператор на консоль. Я хотел бы вызвать этот метод, когда спрайт моего плеера «падает» с экрана.
Прямо сейчас у меня есть прямоугольник в нижней части экрана для обозначения какой-то опасности (например, воды), и когда игрок сталкивается с ней, он вызывает метод gameOver, и игра заканчивается. Однако я все же предпочел бы, чтобы игра закончилась, если игрок упал ниже определенной высоты экрана.
Это мой метод gameOver (из класса 'Game') -
/** End the game. */
public void gameOver()
{
world.terminate();
isOver = true;
}
Это мой спрайт игрока (в настоящее время рисуется с использованием многоугольника) -
super(Utils.createPolygon(170, 102,
155, 118, 137, 118, 151, 134, 146,
140, 167, 140, 170, 135, 174, 140,
193, 140, 188, 134, 202, 118, 186,
118, 170, 102));
setColor(new Color(254, 167, 184));
Это код (из класса «Враг», аналогичный код используется и в классе опасности), который заканчивает игру, когда игрок сталкивается с врагом-
if (e.contact.involves(player) && (player.getLives() < 1)) {
System.out.println("YOU ARE DEAD!");
game.gameOver();
}
Мне бы хотелось подобное или хотя бы простое решение, которое будет вызывать мой метод gameOver, когда спрайт моего игрока падает или выходит за пределы определенной координаты экрана.
Буду признателен, если вы предоставите пример / пример кода с комментариями, которые помогут мне понять его, чтобы дать представление о том, что я должен сделать для достижения этой цели.
Большое спасибо, и я с нетерпением жду ваших ответов.