Menu
CoddyTech

Né tránh: Mạng

Thuộc phần Luật chơi trong hành trình Godot của Coddy. Bài học 27 trên 29.

Các khối giờ vỡ khi va vào người chơi, nhưng không có gì xảy ra. Cho người chơi ba mạng.

Khi một khối rơi trúng người chơi, khối đó phát tín hiệu hurt của người chơi rồi vỡ. Người chơi chớp đỏ. Kết nối $Player.hurt và trừ đi một mạng mỗi lần:

func _on_player_hurt():
	lives -= 1
	$HUD/Lives.text = "Lives: %d" % lives

Nhãn Lives nằm bên phải thanh trên cùng.

challenge icon

Thử thách

Trung bình

Cho người chơi ba mạng.

  1. Thêm var lives = 3 ở đầu, rồi hiển thị Lives: 3 trên $HUD/Lives trong _ready().
  2. Kết nối $Player.hurt với _on_player_hurt.
  3. Trong _on_player_hurt(), trừ đi một mạng rồi hiển thị số mạng còn lại.

Nhấn Chơi rồi đứng dưới một khối lệnh: nhãn giảm xuống còn Lives: 2. Sau đó nhấn Kiểm tra.

Tự làm thử

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

Tất cả bài học trong Luật chơi

Tự luyện tập: Playground Godot