Menu
CoddyTech

Bildschirmschoner: Neue Farben

Teil des Abschnitts Nodes und Szenen der Godot-Journey von Coddy. Lektion 28 von 28.

Der letzte Schritt gibt dem Logo bei jedem Abprallen die nächste Farbe. An allen vier Kanten passiert dasselbe, also packe es in eine Funktion, next_color(), und rufe sie bei jedem Abprallen auf.

Die Funktion erhöht color_index um 1 und zeigt dann colors[color_index] an. Bei drei Farben ist der Index zuerst 1, dann 2 und anschließend 3, wofür es keine Farbe gibt. Wenn er also colors.size(), der Anzahl der Elemente, entspricht, setze ihn wieder auf 0:

if color_index == colors.size():
	color_index = 0

== prüft, ob zwei Werte gleich sind. Ein einzelnes = weist einen Wert zu.

challenge icon

Aufgabe

Einfach

Gib dem Logo bei jedem Abprallen die nächste Farbe.

  1. Schreibe func next_color():. Dabei wird color_index um 1 erhöht, bei Gleichheit mit colors.size() wieder auf 0 gesetzt und dann modulate = colors[color_index] zugewiesen.
  2. Rufe next_color() in beiden if-Anweisungen unter dem Richtungswechsel auf.

Drücke auf „Spielen“: Bei jedem Abprallen wird die nächste Farbe aus deiner Liste angezeigt. Drücke dann auf „Prüfen“.

Probier es selbst

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
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Nodes und Szenen

Übe selbstständig: Godot-Playground