就像在 Game maker Studio 中一样,有一个精确碰撞选项,以便对象仅在对象的彩色图像的一部分与彩色图像的另一部分碰撞时才发生碰撞,在 java 中我使用:
if(new Rectangle(x,y,ancho,alto).intersects(new Rectangulo(objeto.x, objeto.y, objeto.ancho, objeto.alto)){
//Colisiono
}
但这只会检测到围绕对象形成的矩形,我希望检测到碰撞而不是矩形,直到图像颜色开始的位置而不考虑空白空间。
如果可以的话。
Java 中有一种方法可以满足您的需求(多边形碰撞),它适用于 Shape 类
shape.getBounds2D().intersects(other.getBounds2D())
,但处理该类有点复杂,因为您必须指定要构成形状的点。另一方面,要评估碰撞,您还有其他选择:
请记住,碰撞评估越精确,将使用越多的计算资源(您可以参考更多的算法),因此如果您想保持简单,请继续使用矩形。
资料来源:GenbetaDev