如何将图块游戏对象与图块地图网格对齐?我有以下设置:
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像素。就是我希望1个单位等于32个像素。
我该怎么做?非常感谢您的帮助!
我正在使用Unity 2017.3.1f1。
答案 0 :(得分:1)
只需查看您的代码即可:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="nav nav-pills">
<li><a data-toggle="tab" href="#contentone" class="active" onclick="toggleActive(this)">One</a></li>
<li><a data-toggle="tab" href="#contenttwo" onclick="toggleActive(this)">Two</a></li>
</ul>
您直接使用了循环的变量, 但您需要计算瓷砖的放置位置。 例如(可能不完全正确):
tile.transform.localPosition = new Vector3(x, y, 0);