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 = truePipa. 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.
Tantangan
Sulit- Di
pipe.gd, tambahkansignal hit. Hubungkanbody_entereddi_readydan pancarkanhitsaat sebuah bodi masuk. - Di
flyer.gd, tambahkansignal crasheddan pancarkan sinyal itu saatposition.ylebih dari 306. - Di
main.gd, hubungkanhitdari setiap pipa dancrasheddari flyer ke_on_crash. Fungsi ini menampilkanGame Overdan 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)
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 Kunci3Proyek: Flappy Flyer
Gravitasi FlyerKepakkan FlyerLatihan sendiri: Playground Godot