Godot笔记2 2023.8.13 脚本添加和删除节点

脚本加节点

挂在哪个脚本上,就以这个节点为基础运行。

var s	#声明变量
func _ready()
	s = Sprint.new()	#创建一个节点 原节点类型为Sprint
	add_child(s)	#把这个节点加入节点树

运行后得到节点名字为:@1,@@2……(在远程而非本地观看)
其实在add_child(s)后省略了一个bool值,原语句为:

add_child(s,false)

如果加入true:

add_child(s,true)

运行后节点名字为:Sprint1,Sprint2…等等

删除节点:

remove_child(s)

在根节点操作

要先到要在哪个子节点下建立二级子节点

var s
func _ready()
	s = Sprint.new()
	get_node("Sprint2/2s3").add_child(s)	#s3为Sprint2的子节点
	$Sprint2.add_child(s)	# 简写法,$相当于get_node
	pass
var s
func _ready():
	s = Sprint.new()
	$Sprint2.add_child(s)
	s.name = "hello"	#给节点命名
	pass

删除节点

在根节点运行
var s
func _ready():
	s = $Sprint2
	remove_child(s)
	pass

此方法可以只是断开了这个节点和节点树的联系,但没有从内存中删除这个节点,而且使用remove_child:

s = $Sprint2/s3
remove_child(s)

没办法删除子节点的子节点(s3),只能删根节点下一级的节点。

另一个删除文件的方法queue_free

func _ready():
	s.queue_free()	#写法比较特殊,变量s在前面
	pass

可以既断开联系又删除内存(删除本身),也会删除这个节点及其所有子节点。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值