您当前的位置: 首页 > 

开发游戏的老王

暂无认证

  • 3浏览

    0关注

    803博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Node类:get_node方法及其语法糖$

开发游戏的老王 发布时间:2019-10-14 16:32:32 ,浏览量:3

Godot Engine 3.2Alpha2

Node类是可以放到节点树的所有类型节点的基类,可以说是Godot工作机制中最核心的类了,其get_node方法也是节点之间相互调用的最常用工具

get_node方法即:Node get_node(path: NodePath) const

  • 其参数是NodePath类型,如果传入的是字符串,也会自动转换成NodePath
  • NodePath可以是相对路径也可以是绝对路径,如果阶段不存在则返回null

由于该方法非常常用,所以Godot为它设计了一个语法糖$,使用方法见下文

范例: 假设在下面这样的节点树上当前节点为Character

/root
/root/MyGame/Character
/root/MyGame/Character/Sword
/root/MyGame/Character/Backpack/Dagger
/root/MyGame
/root/MyGame/Swamp/Alligator
/root/MyGame/Swamp/Mosquito
/root/MyGame/Swamp/Goblin

本地编辑视图

在这里插入图片描述

运行时,Godot会把当前(主)场景作为系统根节点"root"的子节点,所以运行时的场景树状态如下:

在这里插入图片描述

可能的路径:

get_node("Sword") #调用儿子节点
get_node("Backpack/Dagger") #调用孙子节点
get_node("../Swamp/Alligator") #调用兄弟节点
get_node("/root/MyGame") #用绝对路径调用根节点

如果用语法糖$表示

#调用儿子节点
$Sword 
#或
$"Sword"
#调用孙子节点
$Backpack/Dagger 
#或
$"Backpack/Dagger"

#调用兄弟节点
$"../Swamp/Alligator" 
#用绝对路径调用根节点
$"/root/MyGame" 

注意:

  • 语法糖$既不需要括号
  • 访问子节点时可加双引号也可以不加,但是访问父级节点或者根节点时需要双引号

小结 个人建议如果使用$的话,最好还是后面加上双引号,这样代码的形式比较统一

关注
打赏
1656935939
查看更多评论
立即登录/注册

微信扫码登录

0.0370s