gpt4 book ai didi

c# - 如何按位置获取瓷砖游戏对象?

转载 作者:太空宇宙 更新时间:2023-11-03 12:09:34 27 4
gpt4 key购买 nike

我是 Unity 的新手,发现了 this , 所以我可以通过鼠标点击获得网格的位置。

我想通过鼠标点击破坏一个方 block 并将玩家移动到网格的位置。

我有 2 个我不知道如何解决的问题。

  1. 获取网格位置后,如何获取瓦片游戏对象?
  2. 当我将 player.transform.position 设置为网格的位置时,它看起来像 PNG-A ,但我想要的是 PNG-B ,在图 block 的 x 位置的中心。

如果你不明白,我很抱歉,我的英语不好。

最佳答案

  1. After I get a grid's position, how can I get the tile gameObject?

使用Tilemap.GetInstantiatedObject:

Tilemap tilemap; // Given
Vector3Int pos; // Given
GameObject gameObjectAtPosition = tilemap.GetInstantiatedObject(pos);
  1. When I set player.transform.position to the grid's position, it look like PNG-A, but what I want is like PNG-B, at the center of the tile's x position.

将图 block 宽度的一半 (0.5 * GridLayout.cellSize.x) 添加到您现在所在位置的 x 轴。您可以使用 Vector3.Scale 来执行此操作:

GameObject person;    // Given
Vector3 tilePosition; // Given
person.transform.position = tilePosition + Vector3.Scale(new Vector3(0.5f,0f,0f), GridLayout.cellSize) ;

关于c# - 如何按位置获取瓷砖游戏对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53087876/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com