Làn đường ngẫu nhiên
Thuộc phần Luật chơi trong hành trình Godot của Coddy. Bài học 21 trên 29.
Một số lựa chọn ngẫu nhiên cần số nguyên, chẳng hạn như chọn một trong năm làn hoặc gieo xúc xắc.
randi_range(a, b) trả về một số nguyên ngẫu nhiên từ a đến b, bao gồm cả hai giá trị:
var roll = randi_range(1, 6) # 1, 2, 3, 4, 5 hoặc 6Màn hình rộng 640 pixel, nên mỗi làn rộng 128 pixel. Nhân làn với 128, rồi cộng 64 để đến giữa làn:
var lane = randi_range(0, 4)
spawn(lane * 128 + 64)Như vậy, x = 64, 192, 320, 448 hoặc 576, không có giá trị nào ở giữa.
Thử thách
DễCho các khối rơi xuống theo năm làn.
- Trong
_on_spawn_timer_timeout(), chọn một làn bằngvar lane = randi_range(0, 4). - Cho khối xuất hiện tại
lane * 128 + 64.
Nhấn Chơi: các khối rơi xuống thành những cột ngay ngắn. 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():
spawn(randf_range(40, 600))
func spawn(x):
var block = block_scene.instantiate()
block.position = Vector2(x, -30)
add_child(block)
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Luật chơi
4Tạo đối tượng
Một cảnh đã đóng góiĐặt nút mớiHàm tạo đối tượngTạo đối tượng theo bộ hẹn giờVị trí ngẫu nhiênLàn đường ngẫu nhiên2Hiể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ìnhTự luyện tập: Playground Godot