Menu
CoddyTech

Rochas à Deriva

Parte da seção Projetos do Journey de Godot da Coddy. Lição 16 de 36.

As rochas precisam se mover. rock.gd faz cada rocha se deslocar com sua velocity, girar lentamente e dar a volta na tela, como a nave.

Uma rocha é grande, então ela dá a volta em -30 e 670, em vez de 0 e 640. Assim, ela sai completamente da tela antes de voltar. O salto é de 700, a largura dessa faixa mais larga:

if position.x > 670:
	position.x -= 700

A borda esquerda e as bordas superior e inferior funcionam da mesma maneira, com -30, 390 e um salto de 420.

challenge icon

Desafio

Difícil

Faça as rochas flutuarem, girarem e reaparecerem do outro lado.

  1. Em rock.gd, adicione _physics_process: mova usando velocity * delta e some 0.5 * delta a rotation.
  2. Ao passar de -30 ou 670 em x, mova-a 700 na direção oposta.
  3. Ao passar de -30 ou 390 em y, mova-a 420 na direção oposta.

Pressione “Jogar”: as rochas atravessam a tela girando e voltam. Depois, “Verificar”.

Experimente você mesmo

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

Todas as lições de Projetos

Pratique por conta própria: Playground de Godot