Menu
CoddyTech
flag Pt iconPortuguêsdown icon

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.0

Um 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.

challenge icon

Desafio

Médio

Apó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)
quiz iconTeste seus conhecimentos

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