Menu
CoddyTech

Salvapantallas: Nuevos colores

Parte de la sección Nodos y escenas del Journey de Godot de Coddy. Lección 27 de 27.

El último paso le da al logotipo un color nuevo en cada rebote. Guarda los colores en una lista, escrita entre corchetes. colors[0] es el primer color; colors[1], el segundo. Un índice indica cuál es el siguiente color:

var colors = [
	Color(0.49, 0.95, 0.75),
	Color(1, 0.78, 0.34),
]
var color_index = 0

Las cuatro paredes hacen lo mismo, así que ponlo en una sola función a la que llame cada rebote. Esta establece modulate en el color de color_index y, después, suma 1 al índice.

Cuando el índice llega a colors.size(), ya no hay ningún color en esa posición. Vuelve a establecerlo en 0 y los colores empezarán de nuevo.

challenge icon

Desafío

Fácil
  • Añade una variable del nodo colors: una lista de al menos tres colores (los colores menta, ámbar, coral y azul del curso son Color(0.49, 0.95, 0.75), Color(1, 0.78, 0.34), Color(1, 0.42, 0.42) y Color(0.369, 0.635, 1)), y color_index = 0.
  • Escribe next_color(): asigna a modulate el color en color_index, suma 1 al índice y vuelve a asignarlo a 0 al final de la lista.
  • Llámala en cada rebote: contra los lados, la parte superior y la inferior.

Pruébalo tú mismo

extends Node2D

var velocity = Vector2(200, 90)

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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Nodos y escenas

Practica por tu cuenta: Playground de Godot