Menu
CoddyTech

Zatrzymanie przy trafieniu

Część sekcji Dopracowanie rozgrywki ścieżki Godot w Coddy. Lekcja 17 z 23.

Zamrożenie po trafieniu zatrzymuje grę na ułamek sekundy, gdy następuje trafienie. Dzięki temu trafienie wydaje się mocniejsze.

Engine.time_scale określa szybkość zegara gry. Przy wartości 1 gra działa normalnie. Przy wartości 0.05 ruch, animacje tween i liczniki czasu działają dwadzieścia razy wolniej.

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

Zwykły licznik czasu działa według spowolnionego zegara, więc 0.1 sekundy trwałoby dwie rzeczywiste sekundy. Ostatnie true w create_timer sprawia, że licznik ignoruje time_scale i odmierza rzeczywiste sekundy. Dwie poprzedzające je wartości to typowe wartości domyślne.

Zawsze ustawiaj time_scale z powrotem na 1. Wpływa on na całą grę i pozostaje aktywny, dopóki kod go nie zmieni.

challenge icon

Wyzwanie

Średni

Po błysku w hit() zatrzymaj grę. Ustaw Engine.time_scale na 0.05, odczekaj 0.1 sekundy czasu rzeczywistego za pomocą timera, który ignoruje skalę czasu, a następnie ustaw ją z powrotem na 1.0. Naciśnij E i obserwuj, jak dron się zatrzymuje.

Spróbuj swoich sił

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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Dopracowanie rozgrywki

Poćwicz samodzielnie: Edytor online Godot