如何检查一个图形是否与另一个重叠?

3

我在谷歌上搜索了很久,但仍然找不到任何有用的信息。我想做一个简单的贪吃蛇或者像“收集金币”的2D图形游戏,但如果硬币是一个图形,移动的角色也是一个图形,怎么检查角色是否碰到了硬币呢? 我被难住了。你有什么好的建议吗?


你有每个图像/精灵的边界框吗?(即左上角和右下角的边缘)? - Jordaan Mylonas
3个回答

1

对于一个简单的实现,让所有精灵都由Rectangle2D对象支持,并使用intersects方法测试碰撞。 注意,这非常简陋!


0

0

我想不出使用图形包来完成这个任务的任何方法;此外,我认为这是你应该在模型中而不是在图形中完成的事情。

你正在研究的问题通常被称为“碰撞检测”。有许多不同的方法可以解决这个问题;在网上寻找一些指南会很有用。然而,我认为一个简单的方法是将每个对象(硬币、蛇等)看作一个矩形,使数学计算变得非常简单。圆形(对于硬币)也不应该太难。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接