Phá hủy bức tường
Thuộc phần Dự án trong hành trình Godot của Coddy. Bài học 10 trên 36.
Bước cuối cùng là cách để chiến thắng: phá hết mọi viên gạch.
Đếm số viên gạch còn lại. Bắt đầu từ 40 và trừ đi một viên mỗi khi brick_broken xuất hiện. Khi số lượng về 0, bức tường đã sạch:
bricks_left -= 1
if bricks_left == 0:
$HUD/Message.text = "You win!"
get_tree().paused = trueTrừ đi một viên trước khi kiểm tra xem số lượng có về 0 không. Nếu kiểm tra trước, phép kiểm tra sẽ thấy số 1 ở viên gạch cuối cùng và không bao giờ thấy số 0.
Phím Enter cũng bắt đầu một ván mới từ màn hình Game Over. Bạn đã hoàn thành Breakout.
Thử thách
Trung bìnhThắng trò chơi bằng cách phá vỡ mọi viên gạch.
- Trong
main.gd, thêmvar bricks_left = 40. - Trong
_on_brick_broken, giảmbricks_leftđi một. - Khi không còn viên gạch nào, hiển thị
You win!trong$HUD/Messagevà tạm dừng trò chơi.
Nhấn Chơi và phá hết bức tường: dòng You win! sẽ xuất hiện và quả bóng dừng lại. Sau đó nhấn Kiểm tra.
Tự làm thử
extends Node2D
const BRICK = preload("res://brick.tscn")
const COLORS = [Color(1, 0.42, 0.42), Color(1, 0.78, 0.34), Color(0.49, 0.95, 0.75), Color(0.369, 0.635, 1), Color(0.75, 0.82, 0.95)]
var score = 0
var lives = 3
func _ready():
for row in 5:
for column in 8:
var brick = BRICK.instantiate()
brick.position = Vector2(68 + column * 72, 60 + row * 26)
brick.color = COLORS[row]
add_child(brick)
$Ball.brick_broken.connect(_on_brick_broken)
$HUD/Score.text = "Score: 0"
$Ball.missed.connect(_on_missed)
$HUD/Lives.text = "Lives: 3"
func _process(delta):
if get_tree().paused and Input.is_action_just_pressed("action"):
get_tree().paused = false
get_tree().reload_current_scene()
func _on_brick_broken():
score += 10
$HUD/Score.text = "Score: %d" % score
func _on_missed():
lives -= 1
$HUD/Lives.text = "Lives: %d" % lives
if lives == 0:
$HUD/Message.text = "Game Over"
get_tree().paused = true
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 Dự án
1Dự án: Breakout
Thanh đỡ trong BreakoutGiữ thanh đỡ trong màn hình4Dự án: trò chơi khám phá hầm ngục
Khám phá hầm ngụcNhặt chìa khóaTự luyện tập: Playground Godot