画面に時計を表示
CoddyのGodotジャーニー「ゲームのルール」セクションの一部。レッスン 10/29。
タイマーとラベルで時計を作ります。この部屋には、毎秒時間切れになるTimerという名前のClockがあります。また、右上隅にはHUD/Timeというラベルがあります。
時計が時間切れになるたびに、秒数を1増やして表示します。
func _on_clock_timeout():
seconds += 1
$HUD/Time.text = "Time: %d" % seconds最初に数値を変更し、そのあとで表示します。順序を逆にすると、ラベルには1秒前の数値が表示されます。
チャレンジ
簡単右上の時計で秒数をカウントするようにしましょう:
_ready()で、$Clock.timeoutを_on_clock_timeoutに接続します。_on_clock_timeout()で、secondsに1を加算し、$HUD/TimeにTime:と秒数を表示します。
自分で試してみよう
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プレイグラウンド