如何在 gdscript 中获取不同对象的位置?
How to get the position of a different object in gdscript?
我有一个球员,我希望能够检测到他们何时靠近球,以便他们可以按 'E' 踢球。
我是 godot 的新手,我可能只是很笨,但我不知道如何获取另一个对象的位置。
我有 3 个独立的场景:MainScene(Node2D)、Player(KinematicBody2D) 和 Ball(RigidBody2D)。我想将脚本附加到其中一个场景,以检测玩家离球有多近,以便他们可以踢球。
我不确定是否应该将脚本附加到 MainScene、Player 场景或 Ball 场景,老实说,我不完全确定代码应该是什么样子。我不是很熟悉这些功能,node/scene 层次结构有点混乱。
我对 Python 很熟悉,我只是觉得我对这个引擎不知所措(这是我第一次使用游戏引擎)并且我很难掌握它。
如有任何帮助,我们将不胜感激!
支线任务:如果你觉得有额外帮助,我还需要弄清楚如何阻止 RigidBody2D 对象移动,直到玩家点击 'E' 踢它!
为此,您需要一个 Area2D
,它专为“检测附近的物体”而设计,无需与它们进行物理交互。将 Area2D
作为 Player 节点的子节点,并将 Player 节点连接到 Area2D
的 body_entered
信号。 Here's a tutorial on using Area2D 了解更多信息;本教程还链接到可能有用的其他各种教程。
我想你可能会使用函数
get_overlapping_bodies()
(Area2D 节点的)用于检测另一个区域或 body
我有一个球员,我希望能够检测到他们何时靠近球,以便他们可以按 'E' 踢球。
我是 godot 的新手,我可能只是很笨,但我不知道如何获取另一个对象的位置。
我有 3 个独立的场景:MainScene(Node2D)、Player(KinematicBody2D) 和 Ball(RigidBody2D)。我想将脚本附加到其中一个场景,以检测玩家离球有多近,以便他们可以踢球。
我不确定是否应该将脚本附加到 MainScene、Player 场景或 Ball 场景,老实说,我不完全确定代码应该是什么样子。我不是很熟悉这些功能,node/scene 层次结构有点混乱。
我对 Python 很熟悉,我只是觉得我对这个引擎不知所措(这是我第一次使用游戏引擎)并且我很难掌握它。
如有任何帮助,我们将不胜感激!
支线任务:如果你觉得有额外帮助,我还需要弄清楚如何阻止 RigidBody2D 对象移动,直到玩家点击 'E' 踢它!
为此,您需要一个 Area2D
,它专为“检测附近的物体”而设计,无需与它们进行物理交互。将 Area2D
作为 Player 节点的子节点,并将 Player 节点连接到 Area2D
的 body_entered
信号。 Here's a tutorial on using Area2D 了解更多信息;本教程还链接到可能有用的其他各种教程。
我想你可能会使用函数
get_overlapping_bodies()
(Area2D 节点的)用于检测另一个区域或 body