Menu
CoddyTech

Protector de pantalla: Nuevos colores

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

El último paso hace que el logo cambie al siguiente color con cada rebote. Los cuatro bordes hacen lo mismo, así que ponlo en una función, next_color(), y llámala en cada rebote.

La función incrementa color_index en 1 y después muestra colors[color_index]. Con tres colores, el índice pasa por 1, 2 y después 3, donde no hay ningún color. Así que, cuando sea igual a colors.size(), el número de elementos, vuelve a asignarle 0:

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

== pregunta si dos valores son iguales. Un solo = asigna un valor.

challenge icon

Desafío

Fácil

Dale al logotipo el siguiente color en cada rebote.

  1. Escribe func next_color():. Suma 1 a color_index, lo restablece a 0 cuando es igual a colors.size(), después establece modulate = colors[color_index].
  2. Llama a next_color() en ambos if, debajo de la inversión.

Pulsa «Jugar»: cada rebote muestra el siguiente color de tu lista. Después, pulsa «Comprobar».

Pruébalo tú mismo

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 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