是否有一种简单的方法来创建弹性游戏对象并获得相对坐标?



假设我有以下游戏对象层次结构:

  • Board -游戏棋盘的整个视图,由瓷砖组成。
  • Tile -板内的矩形边界,由分块组成。
  • Subtile -在瓷砖内的矩形边界。

一个Board需要相对于所有包含的Tile对象的维度

Tile需要相对于Board的相对坐标

Subtile需要相对于Tile的相对坐标

我当前的过程是定义n Tile对象。将xy分开,这样x表示一行中Subtile对象的个数,y表示一列中Subtile对象的个数。然后,当我放置Subtile对象时,我只需将xy乘以包含Tile对象的起始坐标。

到目前为止,这个过程运行得很好。然而,为了避免复杂性和错误,我希望能够简单地布局一个Subtile对象,其中(0,0)将是Tile对象的左上角。

不只是抽象我的定位和添加类,说,SubtileVector或其他东西,这将保持一个额外的变量相对偏移瓷砖,有没有一个更简单的方法来做到这一点?

同样地,当我想看看我的板有多大并将相机放在中间时,我只是最终计算到那个位置。是否有任何方法可以让我的板始终充当这些瓷砖的包含框,并且能够做一些像Board.Position.Center这样的事情并获得确切的中心坐标?

有。你可以创建一个board游戏对象,将它父化为tile游戏对象,而这些对象又是subtile对象的父对象:

董事会,家长到Tile, parent to微妙的

好消息是你可以使用tile和subtile的相对坐标使用它们的
transform.localPosition

最新更新