【问题标题】:How to get the position of a different object in gdscript?如何在 gdscript 中获取不同对象的位置?
【发布时间】:2020-08-13 00:07:19
【问题描述】:

我有一个球员,我希望能够检测到他们何时靠近球,以便他们可以按“E”来踢球。

我是 godot 的新手,我可能很笨,但我不知道如何获取另一个对象的位置。

我有 3 个独立的场景:MainScene(Node2D)、Player(KinematicBody2D) 和 Ball(RigidBody2D)。我想在其中一个场景中附加一个脚本,以检测玩家与球的距离,以便他们可以踢球。

我不确定是否应该将脚本附加到 MainScene、Player 场景或 Ball 场景,老实说,我不完全确定代码的外观。我对函数不是很熟悉,节点/场景层次结构有点混乱。

我对 Python 很熟悉,我只是觉得我对这个引擎感到不知所措(这是我第一次使用游戏引擎),而且我很难掌握它。

任何帮助将不胜感激!

支线任务:如果你觉得特别有帮助,我还需要弄清楚如何阻止 RigidBody2D 对象移动,直到玩家按下“E”来踢它!

【问题讨论】:

    标签: position nodes scene godot gdscript


    【解决方案1】:

    为此,您需要一个Area2D,它是专门为“检测附近的物体”而设计的,而无需与它们进行物理交互。将 Area2D 作为 Player 节点的子节点,并将 Player 节点连接到 Area2Dbody_entered 信号。 Here's a tutorial on using Area2D 了解更多信息;本教程还链接到其他可能有用的教程。

    【讨论】:

    • 伙计,我已经尝试过寻找并得到了我需要做的事情,但对我来说,文档似乎是由脑损伤的猿编写的,几乎没有任何解释可以解释一半的情况,我是一个需要知道为什么某事以它现在的方式工作以及为什么它以它的方式编写的人。我需要视频教程什么的,也许我是脑残猿。
    【解决方案2】:

    我想你可能会使用函数

    get_overlapping_bodies() 
    

    (Area2D 节点)用于检测另一个区域或身体

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-27
      • 1970-01-01
      • 2021-03-15
      • 2020-07-02
      • 1970-01-01
      • 2018-09-10
      相关资源
      最近更新 更多