gpt4 book ai didi

Java 游戏开发 - Sprite 碰撞?

转载 作者:行者123 更新时间:2023-11-30 08:07:58 29 4
gpt4 key购买 nike

这是我的第一个问题,如果我违反任何规则或其他什么,请原谅。

我一直在开发一款马里奥游戏,并且正在致力于绘制 Sprite 。我正在尝试解决碰撞检测问题。通过研究,我了解到您可以使用 Rectangle 类来执行此操作...

 public void checkCollisions() {
Rectangle mr = mario.getBounds();
Rectangle gr = goomba.getBounds();
if(mr.intersects(gr)) {
System.out.println("Collision detected");
}
}

@Override
public void actionPerformed(ActionEvent e) {
updateMario();
checkCollisions();
repaint();
}

然而,即使马里奥距离另一个 Sprite 半个屏幕,这也会对碰撞方法产生垃圾邮件!

所以总体问题是,当 Sprite 彼此远离时,如何让系统不发送垃圾邮件?

类(class): http://pastebin.com/PHWTzSvQ

我顺便使用了Zetcode游戏资源。

最佳答案

我解决了。

我使用了一种将 Sprite 位置转换为字符串的方法,而不是相交方法:

public String getLocationAsString() {
return x+" "+y;
}

然后我用了这个

 public void checkCollisions() {
if(mario.getLocationAsString().equalsIgnoreCase(goomba.getLocationAsString())) {
System.out.println("Collision");
}
}

感谢您的帮助! (第一个问题也同意)

关于Java 游戏开发 - Sprite 碰撞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30813237/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com