屏幕上的时钟
本课属于 Coddy Godot 学习旅程的“游戏规则”单元。第 10 课,共 29 课。
计时器和标签组成时钟。这个房间有一个名为 Clock 的 Timer,每秒计时结束一次。右上角还有一个标签 HUD/Time。
每次时钟计时结束时,加一秒并显示出来:
func _on_clock_timeout():
seconds += 1
$HUD/Time.text = "Time: %d" % seconds先更改数字,再显示出来。如果顺序相反,标签显示的就是一秒前的数字。
挑战
简单让右上角的时钟开始计秒。
- 在
_ready()中,将$Clock.timeout连接到_on_clock_timeout。 - 在
_on_clock_timeout()中,将seconds加 1,然后在$HUD/Time上显示为"Time: %d" % seconds。
按“开始”:三秒后,时钟会显示 Time: 3。然后按“检查”。
亲手试试
extends Node2D
var score = 0
var total = 0
var seconds = 0
func _ready():
total = get_tree().get_nodes_in_group("coins").size()
$HUD/Score.text = "Coins: %d of %d" % [score, total]
$HUD/Time.text = "Time: %d" % seconds
$Player.picked_up.connect(_on_player_picked_up)
func _on_player_picked_up():
score += 1
$HUD/Score.text = "Coins: %d of %d" % [score, total]
func _on_clock_timeout():
pass
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
游戏规则中的所有课
自己练习: Godot 在线编辑器