Menu
CoddyTech

Pausa al recibir un golpe

Parte de la sección Sensación de juego del Journey de Godot de Coddy. Lección 17 de 23.

Una congelación por impacto detiene el juego durante una fracción de segundo cuando se produce un impacto. Esto hace que el impacto se sienta más potente.

Engine.time_scale es la velocidad del reloj del juego. Con 1, el juego funciona con normalidad. Con 0.05, el movimiento, las interpolaciones y los temporizadores funcionan veinte veces más despacio.

Engine.time_scale = 0.05
await get_tree().create_timer(0.1, true, false, true).timeout
Engine.time_scale = 1.0

Un temporizador normal funciona según el reloj ralentizado, así que 0.1 segundos durarían dos segundos reales. El último true en create_timer hace que el temporizador ignore time_scale y cuente segundos reales. Los dos valores anteriores son los valores predeterminados habituales.

Restablece siempre time_scale a 1. Afecta a todo el juego y permanece así hasta que tu código lo cambie.

challenge icon

Desafío

Intermedio

Después del destello en hit(), congela el juego. Establece Engine.time_scale en 0.05, espera 0.1 segundos reales con un temporizador que ignore la escala de tiempo y luego vuelve a establecerlo en 1.0. Pulsa E y observa cómo se detiene el dron.

Pruébalo tú mismo

extends Node2D

func hit():
	modulate = Color(4, 4, 4)
	var tween = create_tween()
	tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)
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 Sensación de juego

Practica por tu cuenta: Playground de Godot