有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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;

这里发生的是,它检查块周围的一个正方形,所以不是真正的等距边界。图像示例:(红色是程序检查边界的位置)

我现在所拥有的:

Rectangle check

所需支票:

Isometric check

最终,我希望对区块中的每个磁贴执行相同的操作

额外信息:

到目前为止,我在游戏中只能一块一块地移动,但现在我希望他们可以自由移动,但我仍然需要他们有一个地砖位置,所以无论他们在地砖上的什么位置,他们的地砖位置都将是特定的地砖。然后,当它们位于其他平铺的边界框内时,它们的平铺位置将成为新的平铺。块也是如此。球员确实有一个区域,但在这种情况下区域并不重要。只要X和Y在边界框内,它就应该返回true。它们不必完全在瓷砖上


共 (0) 个答案