Pantulkan Bola dari Pemukul
Termasuk bagian Proyek dalam perjalanan Godot di Coddy. Pelajaran 4 dari 33.
Bola menembus paddle. Bola adalah Area2D. Sinyal body_entered-nya aktif saat sebuah body, seperti paddle, menyentuhnya. Arahkan bola ke atas saat body tersebut adalah paddle:
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
if body.name == "Paddle":
velocity.y = -abs(velocity.y)abs() menghilangkan tanda minus, jadi -abs(velocity.y) selalu mengarah ke atas. Sentuhan kedua tidak dapat mengirim bola kembali ke bawah.
Agar pemain dapat membidik, atur velocity.x berdasarkan titik tempat bola mengenai paddle. position.x - body.position.x adalah jarak bola dari bagian tengah paddle. Nilainya negatif di separuh bagian kiri dan positif di separuh bagian kanan. Kalikan dengan 5.
Tantangan
SedangDi ball.gd, buat bola memantul dari paddle:
- Hubungkan
body_enteredke_on_body_entereddi_ready. - Saat nama body adalah
Paddle, aturvelocity.xmenjadi(position.x - body.position.x) * 5danvelocity.ymenjadi-abs(velocity.y).
Coba sendiri
extends Area2D
var velocity = Vector2(110, -280)
func _physics_process(delta):
position += velocity * delta
if position.x < 8 or position.x > 632:
velocity.x = -velocity.x
if position.y < 42:
velocity.y = -velocity.y
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 KunciLatihan sendiri: Playground Godot