Dapatkan Poin dari Pipa
Termasuk bagian Proyek dalam perjalanan Godot di Coddy. Pelajaran 27 dari 36.
Setiap pipa yang kamu lewati bernilai satu poin. Pipa memiliki anak Area2D bernama Gap, sebuah strip tipis di belakang bukaan. Flyer menyentuhnya hanya setelah berhasil melewatinya, jadi poinmu bertambah saat itu.
Di pipe.gd, hubungkan sinyal anak melalui $Gap dan pancarkan scored:
$Gap.body_entered.connect(_on_gap_body_entered)
func _on_gap_body_entered(body):
scored.emit()Di main.gd, hubungkan scored dari setiap pipa baru. Tambahkan satu ke score dan tampilkan nilainya di $HUD/Score. str(score) mengubah angka menjadi teks. Tampilkan 0 di awal.
Tantangan
SedangDapatkan satu poin untuk setiap pipa yang kamu lewati.
- Di
pipe.gd, tambahkansignal scored, hubungkan$Gap.body_entered, lalu pancarkanscoredsaat sebuah body memasuki celah. - Di
main.gd, tambahkanvar score = 0dan tampilkan0di$HUD/Scoresaat mulai. - Hubungkan
scoreddari setiap pipa ke sebuah fungsi yang menambahkan satu poin dan menampilkan skor.
Tekan tombol “Main” dan terbang melewati celah: skor menampilkan 1. Lalu tekan tombol “Periksa”.
Coba sendiri
extends Area2D
signal hit
const SPEED = 160
func _ready():
body_entered.connect(_on_body_entered)
func _physics_process(delta):
position.x -= SPEED * delta
if position.x < -60:
queue_free()
func _on_body_entered(body):
hit.emit()
Semua pelajaran di Proyek
1Proyek: Breakout
Pemukul BreakoutJaga Pemukul Tetap di Layar4Proyek: Penjelajah Ruang Bawah Tanah
Jelajahi Ruang Bawah TanahAmbil Kunci3Proyek: Flappy Flyer
Gravitasi FlyerKepakkan FlyerLatihan sendiri: Playground Godot