Menu
CoddyTech

Um ponto de controle

Parte da seção Sinais e colisões do Journey de Godot da Coddy. Lição 20 de 27.

Um ponto de controle muda o local para onde os espinhos enviam você. Assim, o ponto inicial se torna uma variável no topo de main.gd, onde todas as funções podem acessá-la:

var start_point = Vector2(80, 280)

func _on_spikes_body_entered(body):
	body.position = start_point

Os espinhos enviam você para o local que start_point contém naquele momento. Altere a variável, e o próximo impacto enviará você para lá.

Altere-a com start_point = .... Escrever var start_point = ... dentro de uma função cria uma nova variável que existe apenas nessa função. A variável no topo continua igual.

challenge icon

Desafio

Médio

Transforme a bandeira em um ponto de controle.

  1. Em _on_checkpoint_body_entered, defina start_point como $Checkpoint.position, sem var.
  2. Deixe a bandeira verde-menta: $Checkpoint.modulate = Color(0.49, 0.95, 0.75).

Pressione “Jogar”, toque na bandeira e depois nos espinhos: você volta para a bandeira. Em seguida, pressione “Verificar”.

Experimente você mesmo

extends Node2D

var start_point = Vector2(80, 280)

func _ready():
	$Spikes.body_entered.connect(_on_spikes_body_entered)
	$Checkpoint.body_entered.connect(_on_checkpoint_body_entered)

func _on_spikes_body_entered(body):
	body.position = start_point

func _on_checkpoint_body_entered(body):
	pass

Todas as lições de Sinais e colisões

Pratique por conta própria: Playground de Godot