Muchas cosas en ciencias de la computación o en el desarrollo de juegos a menudo se repiten. Por ejemplo, una aplicación podría actualizar el contenido en un feed cada pocos segundos, o un juego podría recompensar a los jugadores con un premio todos los días que inicien sesión. Para lograr este comportamiento, los programadores a menudo utilizan bucles.
En ciencias de la computación, un bucle es un patrón de codificación que repite un conjunto de instrucciones, a menudo hasta que se cumple una condición específica. Para practicar esto, codificarás una parte que cambia de color indefinidamente. Lecciones posteriores mostrarán cómo detener el bucle.
Configura la parte y el script
Utiliza cualquier proyecto de Roblox para este ejercicio. Una vez terminado, esta parte se puede usar como una forma de decorar un entorno.
Crea una nueva parte con un nombre descriptivo. Esta lección utiliza LoopingPart.
En ServerScriptService, agrega un nuevo script llamado LoopingScript.
En el script, elimina Hello World y escribe un comentario que indique el propósito de este script.
-- Cambia el color de LoopingPart cada pocos segundos
Usa variables para almacenar una parte
Las variables también pueden contener referencias a objetos además de cadenas. Por ejemplo, cuando un script conoce la referencia a una parte, el script puede cambiarla.
En lugar de escribir workspace.NameOfYourPart una y otra vez, toda esa línea puede almacenarse dentro de una variable local. Las variables locales se crean escribiendo local y luego el nombre de la variable.
Por ejemplo: local nameOfVariable.
Debajo del comentario, crea una variable local escribiendo local loopingPart.
-- Cambia el color de LoopingPart cada pocos segundoslocal loopingPartEstablece la variable a la parte en bucle escribiendo = workspace.LoopingPart en la misma línea. Recuerda que el operador = establece el valor de una variable a lo que está a la derecha de él.
-- Cambia el color de LoopingPart cada pocos segundoslocal loopingPart = workspace.LoopingPart
Bucles while
Antes de crear el bucle while para la parte que cambia de color, vale la pena explicar su sintaxis. Un bucle while tiene tres componentes:
- La palabra clave while.
- Una condición, siempre después de la palabra clave.
- Instrucciones, entre las palabras clave do y end.
En los bucles, las condiciones pueden ser una variedad de declaraciones lógicas. Algunos ejemplos podrían ser si dos números son iguales. Un bucle se ejecutará si su condición es verdadera.
Observa en el ejemplo a continuación, la condición es verdadera, lo que significa que este bucle se ejecutará para siempre. En lecciones posteriores, codificarás condiciones específicas que detendrán el bucle.
while true doprint("Este bucle se está ejecutando")end
Codifica un bucle while
A continuación, configurarás el bucle while para la parte que cambia de color.
En la siguiente línea escribe while true do. Luego, presiona Enter para autocompletar y agregar la palabra end.
-- Cambia el color de loopingPart cada pocos segundoslocal loopingPart = workspace.LoopingPart-- Código en buclewhile true doend
Añadir código en el bucle
Con el bucle while creado, se pueden agregar instrucciones para cambiar el color de la parte a lo largo del tiempo. Dentro del bucle, agrega una línea de código para cada color. Cada color utilizará valores RGB, una forma de almacenar colores como números en ciencias de la computación.
Entre while true do y end, establece la propiedad Color de la parte a Color3.fromRGB().
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB()endEstablecer el color se puede hacer utilizando un selector de color en Studio. Para hacerlo, haz clic izquierdo dentro de los () junto a fromRGB. Luego, haz clic en el icono de la rueda de color. Una vez que tengas un color deseado, presiona OK para agregar automáticamente el valor del color en el código.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)end
Haz que el script espere
Si agregas una segunda línea de código para cambiar el color en este momento, cambiaría el color del ladrillo tan rápido que es posible que ni siquiera veas el primer color pasar. Para hacer que el script espere antes de ejecutar la siguiente línea de código, usa la función task.wait().
En la línea después de cambiar el color del ladrillo, escribe task.wait(3). Cualquier número colocado dentro de los () es cuántos segundos esperará el script.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)endDebajo de la función de espera, repite el mismo proceso de agregar un nuevo color. Termínalo con una función de espera adicional.
while true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)endPrueba el código y verifica si los colores cambian.
Notas de solución de problemas
En este punto, si la parte que cambia de color no funciona como se esperaba, prueba una de las siguientes soluciones a continuación.
Problema: Se saltan colores
- Asegúrate de tener una función de espera entre cada cambio de color, especialmente en la última línea.
- Verifica que todo el código de cambio de color y espera esté entre las secciones while true do y end.
Problema: La parte sigue siendo gris o no cambia de color como se esperaba
- Asegúrate de que todos los valores RGB tengan números del 0 al 255, sean enteros o decimales y estén separados por comas.
- Los números dentro de los () de una función de espera deben ser mayores que 1. Es posible que, si una espera es demasiado corta, no veas ese color.
Script completo de la parte de bucle de color
-- Crea una variable para almacenar la partelocal loopingPart = workspace.LoopingPart-- Código en buclewhile true do-- Cambia el color de loopingPartloopingPart.Color = Color3.fromRGB(82, 227, 255)-- Espera 3 segundos antes de la siguiente instruccióntask.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)end
Resumen
Los bucles son un elemento común en la mayoría de los lenguajes de programación. Se utilizan para repetir instrucciones, a veces hasta que se cumplen condiciones específicas. En este artículo, se utiliza el bucle while para repetir instrucciones indefinidamente. Para crear un bucle while que repita para siempre, usa la sintaxis a continuación, asegurándote de incluir instrucciones entre las palabras clave do y end.
while true do-- Instruccionesend