Skor Breakout
Termasuk bagian Proyek dalam perjalanan Godot di Coddy. Pelajaran 7 dari 33.
Setiap batu bata bernilai 10 poin. Bola mengetahui saat menghancurkan satu batu bata, dan main.gd menyimpan skor. Sebuah sinyal menghubungkan keduanya. Bola memancarkan sinyal itu untuk setiap batu bata yang dihancurkan, dan skrip utama mendengarkannya.
Di ball.gd, deklarasikan sinyal di bagian atas dan pancarkan di sebelah smash():
signal brick_broken
# di _on_body_entered, setelah body.smash():
brick_broken.emit()Di main.gd, hubungkan sinyalnya di _ready dan tambahkan poin di fungsi yang dipanggilnya:
func _on_brick_broken():
score += 10
$HUD/Score.text = "Score: %d" % scoreLabel berada di dalam CanvasLayer bernama HUD. Atur juga nilainya menjadi Score: 0 di _ready, atau label akan tetap kosong sampai batu bata pertama dihancurkan.
Tantangan
Sedang- Di
ball.gd, tambahkansignal brick_brokendan emit sinyal tersebut saat brick hancur. - Di
main.gd, tambahkanvar score = 0, hubungkan$Ball.brick_brokenke fungsi yang menambahkan 10 dan menampilkanScore: 10,Score: 20, ... di$HUD/Score. - Tampilkan
Score: 0saat game dimulai.
Coba sendiri
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)]
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)
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Proyek
1Proyek: Breakout
Pemukul BreakoutJaga Pemukul Tetap di Layar4Proyek: Penjelajah Ruang Bawah Tanah
Jelajahi Ruang Bawah TanahAmbil KunciLatihan sendiri: Playground Godot