java检查对象是否在等轴测分幅/块的边界内
如何检查对象是否在等轴测块的边界内?例如,我有一个玩家,我想检查它是否在这个等距块的边界内。 我使用OpenGL四边形绘制等距块的平铺
我的第一次尝试是检入一种方形图案:
e = object;
this = isometric chunk;
if (e.getLocation().getX() < this.getLocation().getX()+World.CHUNK_WIDTH*
World.TILE_WIDTH && e.getLocation().getX() >
this.getLocation().getX()) {
if (e.getLocation().getY() > this.getLocation().getY() &&
e.getLocation().getY() < this.getLocation().getY()+
World.CHUNK_HEIGHT*World.TILE_HEIGHT) {
return true;
}
}
return false;
这里发生的是,它检查块周围的一个正方形,所以不是真正的等距边界。图像示例:(红色是程序检查边界的位置)
我现在所拥有的:
所需支票:
最终,我希望对区块中的每个磁贴执行相同的操作
额外信息:
到目前为止,我在游戏中只能一块一块地移动,但现在我希望他们可以自由移动,但我仍然需要他们有一个地砖位置,所以无论他们在地砖上的什么位置,他们的地砖位置都将是特定的地砖。然后,当它们位于其他平铺的边界框内时,它们的平铺位置将成为新的平铺。块也是如此。球员确实有一个区域,但在这种情况下区域并不重要。只要X和Y在边界框内,它就应该返回true。它们不必完全在瓷砖上
共 (0) 个答案