Menu
CoddyTech

Né tránh: Điểm số

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

Trong Dodge, bạn ghi được một điểm cho mỗi giây sống sót. Cảnh có một bộ hẹn giờ tính theo giây, ScoreTimer, bộ hẹn giờ này hết giờ mỗi giây. Thanh trên cùng có nhãn Score.

Cách này hoạt động giống chiếc đồng hồ bạn đã tạo trước đó. Hãy dùng một biến, hiển thị biến đó trong _ready() và cộng thêm một điểm sau mỗi lần timeout:

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

Một cảnh có thể có nhiều bộ hẹn giờ. Mỗi bộ có wait_time riêng và hàm riêng. Vì vậy, bạn có thể thay đổi tần suất các khối rơi mà không làm thay đổi điểm số.

challenge icon

Thử thách

Trung bình

Ghi được một điểm cho mỗi giây bạn sống sót.

  1. Thêm var score = 0 ở đầu, rồi hiển thị Score: 0 trên $HUD/Score trong _ready().
  2. Kết nối $ScoreTimer.timeout với _on_score_timer_timeout.
  3. Trong _on_score_timer_timeout(), cộng thêm một điểm và hiển thị điểm số mới.

Nhấn Chơi: điểm số tăng lên mỗi giây. Sau đó nhấn Kiểm tra.

Tự làm thử

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)

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

Tự luyện tập: Playground Godot