首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GdScript获取冲突时的节点路径

GdScript获取冲突时的节点路径
EN

Stack Overflow用户
提问于 2018-06-12 04:26:58
回答 2查看 818关注 0票数 0

假设您有多个区域,当其中一个区域重叠时,您希望脚本获取重叠节点的节点路径。简而言之,如何获得重叠节点的节点路径。谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-07-04 21:11:52

我相信您在区域(area_entered)中处理一个信号,它将发送与您重叠的区域对象。因此,您可以直接获取该节点,而不需要get_node(nodepath)。

area2d

票数 0
EN

Stack Overflow用户

发布于 2018-07-06 08:25:12

当您通过检查器从Node Signals选项卡连接area_entered事件时,_on_AreaNodeName_area_entered(area):方法将出现在脚本中。它将在某些对象进入您作为孩子时拥有的CollisionShape时激活,该方法的(area)部分表示进入该空间的任何对象。因此,您可以通过执行area.get_path()来使用get_path()方法来查找该对象的路径。

为了演示,我制作了一个2D示例,其中包含两个具有基本精灵和碰撞形状的Area2D节点(AreaGreen和AreaRed),并为其中一个节点添加了一个标签,以显示进入该区域的任何节点的路径:

Nodes used in Area Detection Example

我给了AreaGreen节点简单的水平移动,然后将area_entered信号连接到AreaRed节点,并编写了以下脚本:

代码语言:javascript
复制
extends Area2D

func _on_AreaRed_area_entered(area):

    $Label.text = area.get_path()

    pass

若要将标签文本更改为相交节点的路径,请执行以下操作。结果如下:

Before the Areas collide

After the Areas collide

正如您所看到的,脚本成功地找到了节点路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50805513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档