Menu
CoddyTech

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

Il bordo sinistro e i bordi superiore e inferiore funzionano allo stesso modo, con -30, 390 e un salto di 420.

challenge icon

Sfida

Difficile

Fai scivolare, ruotare e riapparire le rocce.

  1. In rock.gd, aggiungi _physics_process: spostala di velocity * delta e aggiungi 0.5 * delta a rotation.
  2. Se supera -30 o 670 sull’asse x, spostala di 700 nella direzione opposta.
  3. Se supera -30 o 390 sull’asse y, spostala di 420 nella 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

Esercitati da solo: Playground Godot