如何在网格中对齐瓷砖游戏对象



如何将瓷砖游戏对象与我的tilemap网格对齐?我有以下设置:

tileSprite: 
  pixels per unit: 32
Grid (created tilemap gameobject):
  Grid component:
    cell size: 32, 32, 0
  GridController script component:
    tileSprite

在GridController脚本中:

public class GridController : MonoBehaviour {
    public Sprite tileSprite;
    // Use this for initialization
    void Start () {
        for (int x=0; x<5; x++) {
          for (int y=0; y<5; y++) {
            GameObject tile = new GameObject();
            tile.transform.localPosition = new Vector3(x, y, 0);
            tile.transform.localScale += new Vector3(32, 32, 1);
            SpriteRenderer tile_sr = tile.AddComponent<SpriteRenderer>();
            tile_sr.sprite = tileSprite;
          }
       }
    }
}

我希望它并排放置,但似乎它们相距仅1像素。IE。我希望1个单位等于32个像素。

我该怎么做?非常感谢您的帮助!

我正在使用Unity 2017.3.1f1。

仅通过查看您的代码:

tile.transform.localPosition = new Vector3(x, y, 0);

您直接使用了循环的变量,但是您需要计算放置瓷砖的位置。例如(可能不完全正确):

tile.transform.localPosition = new Vector3(x*32, y*32, 0);

最新更新