如何获取组中节点(marker2d)的位置/GODOT 4.2.2

问题描述 投票:0回答:1

我想在每个marker2d的位置上生成“敌人”。这些标记属于一个称为“敌人”的群体。我想知道是否有可能通过仅查看该组来在每个标记上生成“敌人”。

我尝试了网上几乎所有的解决方案,但都失败了。从创建一个新函数来获取组中节点的位置,到将markers2d更改为其他节点,再到创建新变量...... 简而言之,我试图避免为每个marker2d定义vector2或在任何地方使用$nodes。我想知道仅通过查看组是否可以实现这一点。

gdscript godot4
1个回答
0
投票

这应该就是您要找的:

for spawnpoint in get_tree().get_nodes_in_group("enemies"):
    if spawnpoint is Marker2D:
        spawn_enemy(spawnpoint)

或者如果您的 Marker2D 暴露了 spawn_enemy() 函数,您可以这样做:

get_tree().call_group("enemies", "spawn_enemy")

https://docs.godotengine.org/en/stable/tutorials/scripting/groups.html

© www.soinside.com 2019 - 2024. All rights reserved.