我在java中做了一个简单的游戏,我有很多测试两个对象是否碰撞的方法。对象包括男人,敌人,箭头,墙,硬币等。我有一大堆的这些算不算对每一种类型可能发生碰撞的方法,他们是这样的:减少Java游戏中碰撞方法的数量
public boolean collide(Arrow a, Enemy b)
{
Rectangle a1 = a.getBounds();
Rectangle b1 = b.getBounds();
if(a1.intersects(b1)) return true;
else return false;
}
有没有去创建一个通用的方法是什么?我尝试使用对象a和对象b作为参数,但编译器比较它无法找到对象的getBounds()。
使用这些类的通用接口而不是Object。该接口必须包含一个方法'Rectangle getBounds();'这些类必须实现它。另外,你可以用'return a1.intersects(b1);' – jlordo 2013-03-09 16:09:19
替换最后两行,参见[本答案](http://stackoverflow.com/a/14575043/418556) '实例。 – 2013-03-09 16:23:43