[英]Unity - How to check if there is a Tile of an specific Tilemap in the position x,y,z
我在同一个网格中制作了 4 个 TileMap
Lvl1 = 关卡块/瓷砖,
Lvl1 Dec = 关卡装饰,
负部分 = 玩家不能跳跃的部分,
Positive Parts = [红色部分]玩家停止跳跃动画的部分
所以问题是我想检查在该 Tilemap 的特定位置是否有一个 Positive Tile,但我的代码只检查对撞机
if (TileChanger == Grass)
{
Vector3 pos = Cam.ScreenToWorldPoint(Input.mousePosition);
RaycastHit2D hitdown = Physics2D.Raycast(vecdown, Vector2.zero);
if (hitdown != false && hitdown.collider != null)
{
PositiveParts.SetTile(vecInt, Positive);
PositiveParts.SetTile(vecIntdown, null);
}
else
{
PositiveParts.SetTile(vecInt, Positive);
}
}
那么是否有任何代码可以从特定的 Tilemap 中获取特定的 Tile?
不能直接使用collider的gameObject属性来获取tile吗?
hitdown.collider.gameObject
然后使用您自己的验证检查这是否是一个正面图块。
编辑:
如果你只想要一个特定坐标的图块,你可以使用 Tilemap.GetTile 方法。 文档可以在这里找到: Tilemap.GetTile
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.