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.
Desafío
FácilDale al logotipo el siguiente color en cada rebote.
- Escribe
func next_color():. Suma 1 acolor_index, lo restablece a0cuando es igual acolors.size(), después establecemodulate = colors[color_index]. - Llama a
next_color()en ambosif, 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
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Nodos y escenas
2Cada fotograma
El proceso se ejecuta en cada fotogramaDeltaPíxeles por segundoMover en diagonalGirar con rotaciónCrecer con la escala5Proyecto: Protector de pantalla
Protector de pantalla: DerivaProtector de pantalla: Paredes lateralesPractica por tu cuenta: Playground de Godot