c# - Unity - 如何检查位置x,y,z是否存在特定Tilemap的Tile
问题描述
我在同一个网格中制作了 4 个 TileMap
Lvl1 = 关卡块/瓷砖,
Lvl1 Dec = 关卡装饰,
负片 = 玩家无法跳跃的部分,
正片 = [红色部分]玩家停止跳跃动画的部分
所以问题是我想检查在那个 Tilemap 的特定位置是否有一个 Positive Tile,但我的代码只是检查 Colliders
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?
解决方案
你不能只使用对撞机的gameObject属性来获取瓷砖吗?
hitdown.collider.gameObject
然后使用您自己的验证检查这是否是正面图块。
编辑:
如果你只想要一个特定坐标的瓦片,你可以使用 Tilemap.GetTile 方法。可在此处找到文档: Tilemap.GetTile
推荐阅读
- python - 如何在python中导入文件?
- python - 从一个目录到另一个目录查找
- jenkins - groovy:: java.lang.IllegalArgumentException: 预期命名参数但得到
- laravel - Laravel 使用关系过滤查询结果
- excel - 从特定联系人(发件人)和 Outlook 中不同收件箱地址的电子邮件中提取 pdf 文件
- javascript - 如何使用 InAppBrowser react-native (android) 防止重复使用先前会话的 cookie
- plpgsql - 语法高亮 plpgsql 函数的工具
- php - PHP Post变量保持为空
- java - 当 FetchType=Lazy 时 SpringBoot Test JPA 出现“无会话”异常
- reactjs - React Native:更新 useState() 值