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

时间:2014-08-16 23:28:58

标签: unity3d game-engine

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

  • Board - 游戏牌的整个视图,由牌组成。
  • Tile - 板内的矩形边界,由子弹构成。
  • Subtile - 图块中的矩形边界。

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

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

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

我目前的流程是定义n Tile个对象。将它们分隔xy,以使x是一行中Subtile个对象的数量,ySubtile的数量列中的对象。然后,当我放置Subtile个对象时,我只是通过包含x对象的起始坐标来加倍yTile

到目前为止,这个过程运作良好。但是,为了避免复杂化和错误,我希望能够简单地布置一个Subtile对象,其中(0,0)将是Tile对象的左上角。

如果不稍微抽象我的定位并为SubtileVector或其他东西添加类,这会为偏移相对平铺保留一个额外的变量,那么有更简单的方法吗?

同样地,当我想看看我的电路板有多大并且将我的相机放在中间时,我最终计算到那个位置。有没有办法让我的电路板始终充当这些瓷砖的容纳盒,并且能够像Board.Position.Center那样做一些并获得精确的中心坐标?

1 个答案:

答案 0 :(得分:2)

是的。你可以创建一个棋盘游戏对象,将其作为 tile 游戏对象的父级,这些游戏对象又是 subtile 对象的父级对象:

董事会,父母       瓷砖,父母          微妙

好消息是你可以使用他们的

来使用tile和subtile的相对坐标
transform.localPosition