Menu
CoddyTech

屏幕上的时钟

本课属于 Coddy Godot 学习旅程的“游戏规则”单元。第 10 课,共 29 课。

计时器和标签组成时钟。这个房间有一个名为 Clock 的 Timer,每秒计时结束一次。右上角还有一个标签 HUD/Time。

每次时钟计时结束时,加一秒并显示出来:

func _on_clock_timeout():
	seconds += 1
	$HUD/Time.text = "Time: %d" % seconds

先更改数字,再显示出来。如果顺序相反,标签显示的就是一秒前的数字。

challenge icon

挑战

简单

让右上角的时钟开始计秒。

  1. 在 _ready() 中,将 $Clock.timeout 连接到 _on_clock_timeout。
  2. 在 _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
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

游戏规则中的所有课

自己练习: Godot 在线编辑器