Écran de veille : Nouvelles couleurs
Fait partie de la section Nœuds et scènes du Journey Godot de Coddy. Leçon 28 sur 28.
La dernière étape donne au logo la couleur suivante à chaque rebond. Les quatre bords font la même chose, alors mets cela dans une seule fonction, next_color(), et appelle-la à chaque rebond.
La fonction augmente color_index de 1, puis affiche colors[color_index]. Avec trois couleurs, l’index passe à 1, puis à 2, puis à 3, où il n’y a pas de couleur. Alors, quand il est égal à colors.size(), le nombre d’éléments, remets-le à 0 :
if color_index == colors.size():
color_index = 0== vérifie si deux valeurs sont égales. Un seul = définit une valeur.
Défi
FacileDonne au logo la couleur suivante à chaque rebond.
- Écris
func next_color():. Cela ajoute 1 àcolor_index, le remet à0lorsqu’il est égal àcolors.size(), puis définitmodulate = colors[color_index]. - Appelle
next_color()dans les deuxif, après l’inversion.
Appuie sur « Jouer » : chaque rebond affiche la couleur suivante de ta liste. Puis clique sur « Vérifier ».
Essayez vous-même
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
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Nœuds et scènes
2À chaque image
Le processus s’exécute à chaque imageDeltaPixels par secondeSe déplacer en diagonaleTourner avec la rotationGrandir avec l’échelle5Projet : Écran de veille
Écran de veille : DériveÉcran de veille : Murs latéraux3Des valeurs que vous pouvez ajuster
Variables sur un nœudConstantesVariables exportéesCalculs avec Vector2Faire le tour de l’écranVos propres fonctionsEntraînez-vous par vous-même : Playground Godot