Godot笔记3 2023.8.14 信号与定时器

本文介绍了如何在Godot游戏引擎中使用Sprite、定时器和信号,包括设置纹理、创建只执行一次和循环的定时器,以及如何将脚本挂载到节点并利用信号控制Sprite的移动。虽然提到物理引擎更高效,但此方法展示了基础逻辑实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

信号与定时器

将godot的图标拖入右边栏检查器Sprite的texture中,可以让Sprite获得一个形象。
定时器:timer
分两种开启法:只开启一次和自动循环。
timer的输出信号需要挂载到脚本上,这个脚本在哪个节点都可以。
如果想挂在兄节点上,需要先找到父节点再向下找到子节点

s = get_parent().get_node("Sprite2D")

这个脚本也可以挂载到Timer自己上,Timer相当于一个邮局,可以给自己发送信息。

也可以自定义一个信号,将这个信号与Timer的脚本联系起来

让Sprite在场景中行动起来

extends Timer	#挂在哪个节点上就写哪个节点
var s	#定义一个变量s
signal my	#定义一个信号my

func _ready():
	pass # Replace with function body. 这个暂时不用管 自带的


# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
	pass	#这个也不用管



func _on_timeout():	#在收到Timer的信号运行这个函数
	s = get_parent().get_node("Sprite2D")	#找到Sprite节点,储存在变量s中
	s.position.x +=10	#这个节电每秒x坐标+10
	if s.position.x>260 and s.position.x>270:
		emit_signal("my")	#符合条件后发射信号my
		
	pass # Replace with function body.


func _on_my():	#如果收到my
	print("到达位置")
	pass # Replace with function body.

关于这个方法:

这个方法很麻烦,需要计算大量数据……不常用。
Godot有物理引擎可以更方便运用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值