单次触发
本课属于 Coddy Godot 学习旅程的“游戏规则”单元。第 4 课,共 29 课。
计时器每次倒计时结束后都会重新开始。这适合闪烁的灯,但炸弹应该只爆炸一次。
将 one_shot 设为 true,计时器就会倒计时一次,然后停止:
$Timer.one_shot = true再次调用 start(),计时器就会再运行一次。
在这座城堡里,按下 E 会打开大门并启动一个两秒的计时器。计时器倒计时结束后,大门就会关闭。
挑战
简单让闸门只关闭一次。
- 在
_ready()中,将$Timer.one_shot设置为true。 - 其余部分保持不变,这样按 E 仍会打开闸门。
按“开始”,然后按 E:两秒后,闸门会关闭并保持关闭状态。然后点击“检查”。
亲手试试
extends Node2D
func _ready():
$Timer.wait_time = 2
$Timer.timeout.connect(_on_timer_timeout)
func _process(delta):
if Input.is_action_just_pressed("action"):
$Gate.position.y = 20
$Timer.start()
func _on_timer_timeout():
$Gate.position.y += 140
游戏规则中的所有课
自己练习: Godot 在线编辑器