Menu
CoddyTech

Dodge:スコア

CoddyのGodotジャーニー「ゲームのルール」セクションの一部。レッスン 26/29。

Dodgeでは、生き残った秒数ごとに1ポイント獲得します。シーンには1秒タイマーのScoreTimerがあり、毎秒タイムアウトします。上部のバーにはScoreラベルがあります。

これは、前に作った時計と同じように動作します。変数を使い、_ready()で表示し、timeoutのたびにポイントを加算します。

func _on_score_timer_timeout():
	score += 1
	$HUD/Score.text = "Score: %d" % score

1つのシーンに複数のタイマーを置くことができます。それぞれに独自のwait_timeと関数があります。そのため、スコアを変えずにブロックが落ちる頻度を変更できます。

challenge icon

チャレンジ

中級

生き残った秒数ごとに1点を獲得します。

  1. 最初にvar score = 0を追加し、_ready()で$HUD/ScoreにScore: 0を表示します。
  2. $ScoreTimer.timeoutを_on_score_timer_timeoutに接続します。
  3. _on_score_timer_timeout()で、1点を加算して新しいスコアを表示します。

「プレイ」を押すと、スコアが1秒ごとに増えます。その後、「確認」を押します。

自分で試してみよう

extends Node2D

var block_scene = preload("res://block.tscn")

func _ready():
	$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)

func _on_spawn_timer_timeout():
	var block = block_scene.instantiate()
	block.position = Vector2(randf_range(40, 600), -30)
	add_child(block)

ゲームのルールのすべてのレッスン

自分で練習してみよう: Godotプレイグラウンド