嗨,我在试着让一只青蛙在玩家靠近的时候跳跃--我试过了
onready var playerpos = get_parent().get_node("player").position和
onready var playerpos = get_parent().get_node("player").global_position得到这个错误
Invaled get index 'position' (on base: 'null instance')

发布于 2022-09-20 13:56:00
Null实例意味着您要获取的对象不存在。那就是,因为你要求它的位置,甚至在它进入现场之前。
然而,你想要做的,是完全没有必要的。您已经有了一个主场景,这样就可以访问其所有节点的全局位置,而不必调用整个对象。
从主场景进入玩家的位置,而不是青蛙场景。
也就是说,如果你想要球员的位置。然而,你想要做的并不需要这样做。
你需要有一个区域节点连接到青蛙,当它检测到一个物理物体时,它会检测并发送一个信号。在此之后,您只需检查物理对象是否是玩家,并执行适当的操作。
发布于 2022-09-21 17:57:45
根据下面的GDDoc:https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_basics.html#literals
您可以使用美元符号获取节点:
onready var player = $player
onready var player_pos = player.position
onready var player_global_pos = player.global_position或者,你可以直接得到球员的位置:
onready var player_pos = $player.position
onready var player_global_pos = $player.global_positionhttps://stackoverflow.com/questions/73773445
复制相似问题