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" % scoreMộ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ố.
Thử thách
Trung bìnhGhi được một điểm cho mỗi giây bạn sống sót.
- Thêm
var score = 0ở đầu, rồi hiển thịScore: 0trên$HUD/Scoretrong_ready(). - Kết nối
$ScoreTimer.timeoutvới_on_score_timer_timeout. - 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
2Hiển thị điểm trên màn hình
Một nhãn trên màn hìnhChuyển số thành văn bảnĐịnh dạng bằng phần trămCập nhật nhãnĐồng hồ trên màn hình6Dự án: Né tránh
Né tránh: Khối rơiNé tránh: Điểm sốTự luyện tập: Playground Godot