在戈多中获取瓷砖的联系信息



我可以以某种方式获得玩家触摸资源(tilemap.res(中的特定图块的信息吗? 有必要确定它站在哪个瓷砖上(例如,在陆地或水中(

这取决于您期望的行为类型。有两种主要方法可以做到这一点:

  1. 在要受磁贴影响的每个脚本中,每次移动磁贴时获取它所在的磁贴,然后直接从那里运行逻辑。
  2. 如上所述,获取单元每次移动时所在的磁贴,
  3. 但不要每次都运行逻辑,而是在磁贴更改时发出信号,并保持当前磁贴缓存,以便您可以检查它何时位于新磁贴上; 让 TileMap 本身附加到信号,当它收到信号时, 在 Node2D 上操作,直到它离开。这就是我要做的。

找到图块的确切方法是TileMap.world_to_map(TileMap.get_cellv(Node2D.position))--你只需要有 Node2D 和 TileMap,你可以使用上述两种方法在同一函数中获取两者。

从技术上讲,您还可以使用TileMap.get_used_cells_by_id根据不同位置的磁贴程序性地将 Area2D 添加到瓦片地图中,确保 ID 是具有特殊行为的 ID,然后将 TileMap 附加到这些区域的body/area_enteredbody/area_exited并使用它,但是当您可以直接检查Node2D所在的磁贴时,不需要发送大量 Area2D 的垃圾邮件。

相关内容

  • 没有找到相关文章

最新更新