我正在使用 BlueJ 用 Java 开发一个简单的平台游戏。
在接下来的几周内,我将发布一些问题,寻求这个项目的帮助,因为我对编程不是很精通。所以我希望我不会变得烦人,如果你能帮助我,我将非常感激。
在我的游戏中,我有一个 gameOver 方法,它结束游戏并向控制台打印一条语句。我想要的是当我的播放器精灵“从屏幕上掉下来”时调用这个方法。
现在我在屏幕底部放置了一个矩形来表示某种危险(如水),当玩家与它发生碰撞时,它会调用 gameOver 方法并且游戏结束。但是,如果玩家跌落到屏幕的某个高度以下,我仍然希望游戏结束。
这是我的 gameOver 方法(来自“游戏”类)-
/** 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));
这是当玩家与敌人碰撞时结束游戏的代码(来自“Enemy”类,类似的代码也用于 Hazard 类)-
if (e.contact.involves(player) && (player.getLives() < 1)) {
System.out.println("YOU ARE DEAD!");
game.gameOver();
}
我想要一个类似的,或者至少是简单的解决方案,当我的玩家精灵跌落或超出屏幕的某个坐标时,它会调用我的 gameOver 方法。
如果您能提供一个示例/示例代码,并附上注释以帮助我理解它,我将不胜感激,以便了解我应该如何实现这一目标。
非常感谢您,我期待您的答复。