Menu
CoddyTech

Menabrak Pipa

Termasuk bagian Proyek dalam perjalanan Godot di Coddy. Pelajaran 23 dari 33.

Menabrak pipa atau tanah akan mengakhiri permainan. Keduanya mengarah ke satu fungsi di main.gd:

func _on_crash():
	$HUD/Message.text = "Game Over"
	get_tree().paused = true

Pipa. Pipa adalah Area2D dengan dua bentuk, bagian atas dan bawah. Celahnya tidak memiliki bentuk. Di pipe.gd, hubungkan body_entered dan pancarkan sinyal hit. main.gd menghubungkan hit dari setiap pipa baru sebelum menambahkannya.

Tanah. Bagian atasnya berada di y = 318. Tepi flyer berjarak 12 piksel dari bagian tengahnya, jadi flyer menyentuh tanah saat position.y lebih dari 306. Lalu, flyer.gd memancarkan crashed.

Flyer, pipa, dan timer bersifat Pausable, jadi jeda akan membekukan semuanya.

challenge icon

Tantangan

Sulit
  1. Di pipe.gd, tambahkan signal hit. Hubungkan body_entered di _ready dan pancarkan hit saat sebuah bodi masuk.
  2. Di flyer.gd, tambahkan signal crashed dan pancarkan sinyal itu saat position.y lebih dari 306.
  3. Di main.gd, hubungkan hit dari setiap pipa dan crashed dari flyer ke _on_crash. Fungsi ini menampilkan Game Over dan menjeda game.

Coba sendiri

extends Node2D

const PIPE = preload("res://pipe.tscn")

func _ready():
	$PipeTimer.timeout.connect(_on_pipe_timer_timeout)

func _on_pipe_timer_timeout():
	var pipe = PIPE.instantiate()
	pipe.position = Vector2(700, randf_range(100, 250))
	$Pipes.add_child(pipe)
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Proyek

Latihan sendiri: Playground Godot