Menu
CoddyTech

Esquivar: puntuación

Parte de la sección Reglas del juego del Journey de Godot de Coddy. Lección 26 de 29.

En Dodge, consigues un punto por cada segundo que sobrevives. La escena tiene un segundo temporizador, ScoreTimer, que se agota cada segundo. La barra superior tiene una etiqueta Score.

Esto funciona como el reloj que creaste antes. Usa una variable, muéstrala en _ready() y suma un punto en cada timeout:

func _on_score_timer_timeout():
	score += 1
	$HUD/Score.text = "Score: %d" % score

Una escena puede tener muchos temporizadores. Cada uno tiene su propio wait_time y su propia función. Así que puedes cambiar la frecuencia con la que caen los bloques sin cambiar la puntuación.

challenge icon

Desafío

Intermedio

Consigue un punto por cada segundo que sobrevivas.

  1. Añade var score = 0 al principio y muestra Score: 0 en $HUD/Score dentro de _ready().
  2. Conecta $ScoreTimer.timeout con _on_score_timer_timeout.
  3. En _on_score_timer_timeout(), añade un punto y muestra la nueva puntuación.

Pulsa «Jugar»: la puntuación aumenta una vez por segundo. Después, pulsa «Comprobar».

Pruébalo tú mismo

extends Node2D

var block_scene = preload("res://block.tscn")

func _ready():
	$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)

func _on_spawn_timer_timeout():
	var block = block_scene.instantiate()
	block.position = Vector2(randf_range(40, 600), -30)
	add_child(block)

Todas las lecciones de Reglas del juego

Practica por tu cuenta: Playground de Godot