Una sola vez
Parte de la sección Reglas del juego del Journey de Godot de Coddy. Lección 4 de 29.
Un temporizador vuelve a empezar cada vez que llega a cero. Eso es adecuado para una luz intermitente, pero una bomba debería explotar una sola vez.
Establece one_shot en true y el temporizador llega a cero una vez y luego se detiene:
$Timer.one_shot = trueLlamar a start() de nuevo lo pone en marcha para una ejecución más.
En este castillo, E abre la puerta y pone en marcha un temporizador de dos segundos. Cuando el temporizador llega a cero, cierra la puerta.
Desafío
FácilEl temporizador cierra la compuerta después de dos segundos, luego sigue funcionando y empuja la compuerta hacia el suelo. Establece $Timer.one_shot en true en _ready() para que se agote una sola vez.
Pruébalo tú mismo
extends Node2D
func _ready():
$Timer.wait_time = 2
$Timer.timeout.connect(_on_timer_timeout)
func _process(delta):
if Input.is_action_just_pressed("action"):
$Gate.position.y = 20
$Timer.start()
func _on_timer_timeout():
$Gate.position.y += 140
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Reglas del juego
1Temporizadores
El nodo TimerIniciar un temporizadorTiempo de esperaUna sola vezEsperar a un temporizadorPractica por tu cuenta: Playground de Godot