该地图是由我制作的名为 Tile 的类的二维数组制作的。每个图块内部都有较小的图块,它们要么与单位发生碰撞,要么不与单位发生碰撞。
但是我怎样才能检测和防止碰撞呢?假设玩家是 6x6 小(上面提到的)瓷砖大,一个普通瓷砖是 8x8。我怎么知道当玩家向右移动时我知道那里有一块瓷砖,并且移动得足够多,以至于它们不会重叠?
按照规则的要求..我需要表现出努力,所以这就是我目前所拥有的:如果玩家是 6x6 并且一块瓷砖是 8x8,那么这意味着玩家要么在一个瓷砖上,要么在 2 个瓷砖之间; 当他站在瓷砖之间时(单位不绑定到瓷砖)。所以假设玩家在两个瓷砖之间,并且想要向右移动:我检查第一个(玩家所在的两个瓷砖)瓷砖右侧的瓷砖碰撞,然后检查第二个。为了能够向右移动,两者都必须是空的。
但是如果一个单位是 10x10 大,那么它可以是 2 个格子,或者最多 3 个格子。如果我知道每个单元的大小不同并且不是恒定的,我如何不断检查碰撞。
基本上,我需要关于上述内容的帮助,或者一种新的碰撞方法。