Asteroid yang Melayang
Termasuk bagian Proyek dalam perjalanan Godot di Coddy. Pelajaran 16 dari 36.
Batu-batu perlu bergerak. rock.gd menggerakkan setiap batu dengan velocity-nya, memutarnya perlahan, lalu membuatnya muncul kembali seperti kapal.
Batu berukuran besar, jadi batu muncul kembali di -30 dan 670, bukan di 0 dan 640. Dengan begitu, batu keluar sepenuhnya dari layar sebelum muncul kembali. Jarak perpindahannya 700, yaitu lebar area yang lebih besar itu:
if position.x > 670:
position.x -= 700Tepi kiri serta bagian atas dan bawah bekerja dengan cara yang sama, menggunakan -30, 390, dan jarak perpindahan 420.
Tantangan
SulitBuat batu-batu melayang, berputar, dan muncul kembali dari sisi lain.
- Di
rock.gd, tambahkan_physics_process: gerakkan sebesarvelocity * deltadan tambahkan0.5 * deltakerotation. - Jika melewati
-30atau670pada x, gerakkan sejauh700ke arah sebaliknya. - Jika melewati
-30atau390pada y, gerakkan sejauh420ke arah sebaliknya.
Tekan tombol “Main”: batu-batu berputar dan melintasi layar, lalu kembali. Kemudian tekan tombol “Periksa”.
Coba sendiri
extends Area2D
var velocity = Vector2.ZERO
# Bursts into dust where the rock is. Call it when the rock breaks.
func burst():
var dust = CPUParticles2D.new()
dust.position = position
dust.one_shot = true
dust.explosiveness = 1.0
dust.amount = 20
dust.lifetime = 0.7
dust.spread = 180.0
dust.gravity = Vector2.ZERO
dust.initial_velocity_min = 30.0
dust.initial_velocity_max = 120.0 * scale.x
dust.scale_amount_min = 2.0
dust.scale_amount_max = 5.0
dust.color = Color(0.75, 0.82, 0.95)
dust.finished.connect(dust.queue_free)
get_parent().add_child(dust)
dust.emitting = true
Semua pelajaran di Proyek
1Proyek: Breakout
Pemukul BreakoutJaga Pemukul Tetap di Layar4Proyek: Penjelajah Ruang Bawah Tanah
Jelajahi Ruang Bawah TanahAmbil Kunci2Proyek: Penembak Asteroid
Putar KapalNyalakan MesinLatihan sendiri: Playground Godot