Menu
CoddyTech

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.

challenge icon

Tantangan

Sedang

Dapatkan satu poin untuk setiap pipa yang kamu lewati.

  1. Di pipe.gd, tambahkan signal scored, hubungkan $Gap.body_entered, lalu pancarkan scored saat sebuah body memasuki celah.
  2. Di main.gd, tambahkan var score = 0 dan tampilkan 0 di $HUD/Score saat mulai.
  3. Hubungkan scored dari 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

Latihan sendiri: Playground Godot