Menu
CoddyTech

Puntúa al pasar una tubería

Parte de la sección Proyectos del Journey de Godot de Coddy. Lección 24 de 33.

Cada tubería que atraviesas suma un punto. La tubería tiene un nodo hijo Area2D llamado Gap, una franja delgada detrás de la abertura. El personaje volador lo toca solo después de atravesarlo, así que ese es el momento en que sumas puntos.

En pipe.gd, conecta la señal del nodo hijo mediante $Gap y emite scored:

$Gap.body_entered.connect(_on_gap_body_entered)

func _on_gap_body_entered(body):
	scored.emit()

En main.gd, conecta la señal scored de cada nueva tubería. Suma uno a score y muéstralo en $HUD/Score. str(score) convierte el número en texto. Muestra 0 al inicio.

challenge icon

Desafío

Intermedio
  1. En pipe.gd, añade signal scored. Conecta $Gap.body_entered y emite scored cuando un cuerpo entre en el hueco.
  2. En main.gd, añade var score = 0 y muestra 0 en $HUD/Score al inicio.
  3. Conecta la señal scored de cada tubería a una función que sume uno y muestre la nueva puntuación.

Pruébalo tú mismo

extends Area2D

signal hit

const SPEED = 160

func _ready():
	body_entered.connect(_on_body_entered)

func _physics_process(delta):
	position.x -= SPEED * delta
	if position.x < -60:
		queue_free()

func _on_body_entered(body):
	hit.emit()
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Proyectos

Practica por tu cuenta: Playground de Godot