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 para onde os espinhos enviam você. Assim, o ponto inicial se torna uma variável no início 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_pointOs espinhos enviam você para onde quer que start_point esteja apontando 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 variável nova que existe apenas nessa função. A variável no início permanece igual.
Desafio
MédioQuando você alcançar a bandeira:
- Defina
start_pointcomo a posição do ponto de controle,$Checkpoint.position. - Deixe a bandeira verde-menta:
$Checkpoint.modulate = Color(0.49, 0.95, 0.75).
Toque na bandeira e, em seguida, nos espinhos. Você deverá voltar para a bandeira.
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
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Sinais e colisões
Pratique por conta própria: Playground de Godot