Wygaszacz ekranu: Nowe kolory
Część sekcji Węzły i sceny ścieżki Godot w Coddy. Lekcja 28 z 28.
Ostatni krok sprawia, że logo przy każdym odbiciu otrzymuje następny kolor. Wszystkie cztery krawędzie robią to samo, więc umieść tę logikę w jednej funkcji next_color() i wywołuj ją przy każdym odbiciu.
Funkcja zwiększa color_index o 1, a następnie wyświetla colors[color_index]. Przy trzech kolorach indeks przyjmuje kolejno wartości 1, 2, a potem 3 — wtedy nie ma już koloru. Gdy więc jest równy colors.size(), czyli liczbie elementów, ustaw go z powrotem na 0:
if color_index == colors.size():
color_index = 0== sprawdza, czy dwie wartości są równe. Pojedynczy = przypisuje wartość.
Wyzwanie
ŁatwyPrzy każdym odbiciu nadaj logo kolejny kolor.
- Napisz
func next_color():. Zwiększacolor_indexo 1, ustawia go z powrotem na0, gdy jest równycolors.size(), a następnie ustawiamodulate = colors[color_index]. - Wywołaj
next_color()w obu instrukcjachif, pod instrukcją zmieniającą kierunek.
Naciśnij „Graj”: przy każdym odbiciu pojawi się kolejny kolor z listy. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
extends Node2D
var velocity = Vector2(200, 90)
var colors = [Color(0.49, 0.95, 0.75), Color(1, 0.78, 0.34), Color(1, 0.42, 0.42)]
var color_index = 0
func _ready():
modulate = colors[0]
func _process(delta):
position += velocity * delta
if position.x > 570 or position.x < 70:
velocity.x = -velocity.x
if position.y > 330 or position.y < 30:
velocity.y = -velocity.y
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Węzły i sceny
2Każda klatka
Proces uruchamia się w każdej klatceDeltaPiksele na sekundęRuch po przekątnejObrótPowiększanie przez skalowanie5Projekt: Wygaszacz ekranu
Wygaszacz ekranu: DryfWygaszacz ekranu: Ściany boczne3Wartości, które możesz dostosować
Zmienne w węźleStałeZmienne eksportowaneDziałania matematyczne na Vector2Zawijanie ekranuWłasne funkcjePoćwicz samodzielnie: Edytor online Godot