Menu
CoddyTech

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 se agota. Eso es adecuado para una luz intermitente, pero una bomba debería explotar una sola vez.

Establece one_shot en true y el temporizador se agota una vez y después se detiene:

$Timer.one_shot = true

Si vuelves a llamar a start(), se inicia una ejecución más.

En este castillo, E abre la puerta y pone en marcha un temporizador de dos segundos. Cuando se agota, cierra la puerta.

challenge icon

Desafío

Fácil

Haz que la puerta se cierre una sola vez.

  1. En _ready(), establece $Timer.one_shot en true.
  2. Deja el resto tal como está para que E siga abriendo la puerta.

Pulsa «Jugar» y luego E: dos segundos después, la puerta se cierra y permanece cerrada. Después, pulsa «Comprobar».

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

Todas las lecciones de Reglas del juego

Practica por tu cuenta: Playground de Godot