Congelamento ao Acertar
Parte da seção Sensação de jogo do Journey de Godot da Coddy. Lição 17 de 23.
Um hit freeze pausa o jogo por uma fração de segundo quando um golpe acerta. Isso faz o golpe parecer mais forte.
Engine.time_scale é a velocidade do relógio do jogo. Em 1, o jogo roda normalmente. Em 0.05, movimentos, tweens e temporizadores rodam vinte vezes mais devagar.
Engine.time_scale = 0.05
await get_tree().create_timer(0.1, true, false, true).timeout
Engine.time_scale = 1.0Um temporizador normal roda com o relógio desacelerado, então 0.1 segundo duraria dois segundos reais. O último true em create_timer faz o temporizador ignorar time_scale e contar segundos reais. Os dois valores anteriores a ele são os padrões habituais.
Sempre defina time_scale de volta para 1. Ele afeta o jogo inteiro e permanece assim até que seu código o altere.
Desafio
MédioApós o clarão em hit(), congele o jogo. Defina Engine.time_scale como 0.05, aguarde 0.1 segundos reais com um temporizador que ignore a escala de tempo e, em seguida, defina novamente como 1.0. Pressione E e observe o drone parar.
Experimente você mesmo
extends Node2D
func hit():
modulate = Color(4, 4, 4)
var tween = create_tween()
tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Sensação de jogo
Pratique por conta própria: Playground de Godot