信号与定时器
将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有物理引擎可以更方便运用。