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.0Zwykł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.
Wyzwanie
ŚredniPo 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)
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Dopracowanie rozgrywki
1Interpolacje
Twoja pierwsza interpolacjaInterpoluj dowolną właściwośćZanikanieŁagodne wyhamowanieJeden po drugimW tym samym czasieMoneta, która wyskakuje4Błyski i informacja zwrotna
Błysk przy trafieniuZatrzymanie przy trafieniuŚciśnięcie i rozciągnięciePływające liczbyPoćwicz samodzielnie: Edytor online Godot