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" % scoreUna 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.
Desafío
IntermedioConsigue un punto por cada segundo que sobrevivas.
- Añade
var score = 0al principio y muestraScore: 0en$HUD/Scoredentro de_ready(). - Conecta
$ScoreTimer.timeoutcon_on_score_timer_timeout. - 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
6Proyecto: Esquivar
Esquivar: bloques que caenEsquivar: puntuaciónPractica por tu cuenta: Playground de Godot