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

时间:2011-09-27 05:45:36

标签: java 2d jframe collision-detection sprite

我看过谷歌但仍然找不到任何东西。我有一个简单的Snake类型游戏的想法,或者像使用2D图形的“硬币收藏”游戏,但如果硬币是图形而移动角色是图形,我该如何检查角色是否超过硬币?我很难过。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

对于粗略实现,所有精灵都由Rectangle2D对象支持,并使用intersects方法测试碰撞。警告,这非常粗糙!

答案 1 :(得分:0)

是的,经典的挑选和选择问题。这里解释有点长 - 请阅读http://download.oracle.com/javase/tutorial/2d/advanced/user.html。而且,最简单的方法是使用contains(MousePoint) .

Picking in java 2d

答案 2 :(得分:0)

我想不出任何使用图形包的方法;而且,我认为这是你应该在模型中做的而不是你的图形。

您正在查看的问题通常称为“碰撞检测”。有很多不同的方法;在网上寻找一些指南会很有用。但是,我认为一个简单的方法是将每个对象(硬币,蛇......等)视为一个矩形,使数学变得非常简单。圈子(硬币)也不应该太差。