0%

Godot4 获取节点(或自身)所处的TileMap(Layer)

Godot 4.3

1
2
3
4
5
6
7
8
func getTileMap(inputNode:Node):
var node = inputNode
while node:
if node is TileMapLayer: # 或TileMap
return node
node = node.get_parent()

getTileMap(self) # 或其他处于TileMap中的节点
1
2
3
4
5
6
7
8
9
10
11
12
public TileMapLayer GetTileMap(Node InputNode) {
Node node = InputNode;
while (node != null) {
if (node is TileMapLayer) {
return (TileMapLayer) node;
}
node = node.GetParent();
}
return null;
}

GetTileMap(this);

注意: C# 代码可用性未经证实