Người gom xu: Số xu còn lại
Thuộc phần Tín hiệu và va chạm trong hành trình Godot của Coddy. Bài học 26 trên 27.
Main cần biết còn bao nhiêu đồng xu. Hãy lưu số lượng trong một biến ở đầu main.gd. Đếm nhóm một lần lúc bắt đầu, sau đó trừ đi một mỗi khi nhặt được đồng xu:
var coins_left = 0
func _ready():
coins_left = get_tree().get_nodes_in_group("coins").size()Tại sao không đếm nhóm trong _on_coin_collected? Đồng xu gửi tín hiệu collected ngay trước khi tự giải phóng. Nó vẫn thuộc nhóm cho đến hết khung hình, nên số lượng đếm được sẽ bao gồm cả nó.
Biến chỉ thay đổi khi bạn thay đổi nó.
Thử thách
Trung bìnhCho Main đếm số xu còn lại.
- Ở đầu
main.gd, thêmvar coins_left = 0, rồi trong_ready(), đặt giá trị này bằng kích thước của nhómcoins. - Trong
_on_coin_collected(), giảm giá trị đi một và in ra thay choGot a coin!:print("Coins left: ", coins_left).
Nhấn Chơi và nhặt một đồng xu: Console hiển thị Coins left: 5. Sau đó nhấn Kiểm tra.
Tự làm thử
extends Node2D
func _ready():
for coin in get_tree().get_nodes_in_group("coins"):
coin.collected.connect(_on_coin_collected)
func _on_coin_collected():
print("Got a coin!")
Tất cả bài học trong Tín hiệu và va chạm
6Dự án: Người gom xu
Người gom xu: Di chuyểnNgười gom xu: Tiền xuTự luyện tập: Playground Godot