Rocce alla deriva
Fa parte della sezione Progetti del percorso Godot di Coddy. Lezione 16 di 36.
Le rocce devono muoversi. rock.gd fa fluttuare ogni roccia alla sua velocity, la fa ruotare lentamente e la fa riapparire dall'altro lato, come la nave.
Una roccia è grande, quindi riappare dall'altro lato a -30 e 670 invece che a 0 e 640. In questo modo esce completamente dallo schermo prima di ricomparire. Il salto è di 700, la larghezza di quella fascia più ampia:
if position.x > 670:
position.x -= 700Il bordo sinistro e i bordi superiore e inferiore funzionano allo stesso modo, con -30, 390 e un salto di 420.
Sfida
DifficileFai scivolare, ruotare e riapparire le rocce.
- In
rock.gd, aggiungi_physics_process: spostala divelocity * deltae aggiungi0.5 * deltaarotation. - Se supera
-30o670sull’asse x, spostala di700nella direzione opposta. - Se supera
-30o390sull’asse y, spostala di420nella direzione opposta.
Premi «Gioca»: le rocce rotolano sullo schermo e ritornano. Poi premi «Verifica».
Provalo tu
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
Tutte le lezioni di Progetti
2Progetto: Sparatutto di asteroidi
Ruotare la naveAccendere il motoreEsercitati da solo: Playground Godot