Menu
CoddyTech

Un punto de control

Parte de la sección Señales y colisiones del Journey de Godot de Coddy. Lección 20 de 27.

Un punto de control cambia el lugar al que te envían los pinchos. Así que el punto de inicio pasa a ser una variable en la parte superior de main.gd, donde todas las funciones pueden acceder a ella:

var start_point = Vector2(80, 280)

func _on_spikes_body_entered(body):
	body.position = start_point

Los pinchos te envían al lugar que contenga start_point en ese momento. Cambia la variable y el siguiente impacto te enviará allí.

Cámbiala con start_point = .... Escribir var start_point = ... dentro de una función crea una variable nueva que solo existe en esa función. La de la parte superior sigue siendo la misma.

challenge icon

Desafío

Intermedio

Haz que la bandera sea un punto de control.

  1. En _on_checkpoint_body_entered, establece start_point en $Checkpoint.position, sin var.
  2. Pinta la bandera de color menta: $Checkpoint.modulate = Color(0.49, 0.95, 0.75).

Pulsa «Jugar», toca la bandera y después los pinchos: volverás a aparecer en la bandera. Después, pulsa «Comprobar».

Pruébalo tú mismo

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 las lecciones de Señales y colisiones

Practica por tu cuenta: Playground de Godot