Menu
CoddyTech

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 -= 700

Tepi kiri serta bagian atas dan bawah bekerja dengan cara yang sama, menggunakan -30, 390, dan jarak perpindahan 420.

challenge icon

Tantangan

Sulit

Buat batu-batu melayang, berputar, dan muncul kembali dari sisi lain.

  1. Di rock.gd, tambahkan _physics_process: gerakkan sebesar velocity * delta dan tambahkan 0.5 * delta ke rotation.
  2. Jika melewati -30 atau 670 pada x, gerakkan sejauh 700 ke arah sebaliknya.
  3. Jika melewati -30 atau 390 pada y, gerakkan sejauh 420 ke 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

Latihan sendiri: Playground Godot