Dodge:ライフ
CoddyのGodotジャーニー「ゲームのルール」セクションの一部。レッスン 27/29。
ブロックはプレイヤーに当たると壊れるようになりましたが、何も起こりません。プレイヤーにライフを3つ与えましょう。
ブロックがプレイヤーに当たると、プレイヤーのhurtシグナルを発して壊れます。プレイヤーは赤く点滅します。$Player.hurtを接続し、シグナルが発生するたびにライフを1つ減らしましょう。
func _on_player_hurt():
lives -= 1
$HUD/Lives.text = "Lives: %d" % livesLivesラベルは上部バーの右側にあります。
チャレンジ
中級プレイヤーに3つのライフを与えましょう。
- 先頭に
var lives = 3を追加し、_ready()で$HUD/LivesにLives: 3を表示します。 $Player.hurtを_on_player_hurtに接続します。_on_player_hurt()でライフを1つ減らし、その値を表示します。
「プレイ」を押して、ブロックの下に立ちましょう。ラベルが Lives: 2 に変わります。その後、「確認」を押します。
自分で試してみよう
extends Node2D
var block_scene = preload("res://block.tscn")
var score = 0
func _ready():
$HUD/Score.text = "Score: %d" % score
$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)
$ScoreTimer.timeout.connect(_on_score_timer_timeout)
func _on_spawn_timer_timeout():
var block = block_scene.instantiate()
block.position = Vector2(randf_range(40, 600), -30)
add_child(block)
func _on_score_timer_timeout():
score += 1
$HUD/Score.text = "Score: %d" % score
ゲームのルールのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド