0:08
Bienvenido. Vamos a profundizar un poco más en el Block Controller y veamos algunos de los tipos de
0:13
bloques restantes que están a tu disposición.
0:16
De vuelta en la pantalla de edición del Block Controller, veamos otro tipo de bloque. Despleguemos
0:21
“Flow Control”. Estos bloques solo llevan a cabo su acción basándose en ciertos parámetros.
0:27
Es como un diagrama de flujo, donde se construye un punto de decisión y se bifurca un nuevo
0:31
camino basado en tu respuesta.
0:33
Tomemos este que dice “if / do”. Este bloque tiene mucho que revisar. Verás que tiene una ranura
0:38
justo aquí arriba, lo que significa que es un comando. Tiene una ranura aquí para el valor o el
0:44
parámetro, y tiene este espacio abierto para lo que queremos que haga. También tiene este ícono de
0:50
engrane, sobre del que hablaremos en un momento. Por ahora, integrémoslo con el resto de nuestro
0:57
En el video anterior hicimos un botón que cambia su etiqueta o Legend a “ON” cuando es
1:02
presionado. Pero para cambiar la etiqueta a “OFF” cuando el botón es presionado nuevamente,
1:07
necesitaremos que el programa haga una evaluación.
1:09
Si el estado del botón es ON, entonces queremos que la etiqueta diga ON. Si el estado del botón es
1:15
off, entonces queremos que la etiqueta diga OFF. Eso es control del flujo.
1:19
Así que, vamos a desacoplar nuestro bloque “set control” del bloque “control change” y a añadirlo a
1:25
nuestro bloque de “if”. Ahora podemos arrastrar el bloque “if” en el bloque “control change”.
1:31
Esencialmente, cuando el botón es presionado, solo va a cambiar la etiqueta si se cumple con cierto
1:38
Puedes adivinar qué parte necesita completarse – si … ¡que! Necesitamos añadir un bloque aquí que
1:45
equivale a “si el control está on”.
1:48
Ahora, veamos la division de Operators (operadores). Los operadores son cosas que, bueno, realizan
1:55
una operación. En este caso, operaciones matemáticas como aritmética básica u operaciones lógicas
2:02
como tales como, comparar la igualdad de dos cosas diferentes.
2:05
Eso es lo que este bloque lógico hace, que dice “blank equals blank”. Este funcionará perfectamente
2:12
para nosotros así que vamos a unirlo a nuestro bloque de “if”.
2:16
Ahora veamos un nuevo tipo conexión de bloques. En lugar de ranuras en las orillas, este bloque
2:22
tiene huecos. Ya antes hemos visto el tipo de bloque que encaja en este hueco, y tiene una pestaña
2:28
triangular en un costado ¿verdad? Estos son valores o parámetros.
2:33
Regresando a nuestra división de control para “AMAZING”, tomemos este parámetro: “AMAZING
2:38
Boolean”. Si no estás familiarizado con la palabra Boolean, básicamente significa un estado binario,
2:44
algo que solo tiene dos opciones, como nuestro botón.
2:48
Para nuestro segundo hueco, regresemos a la división de Values, y tomemos el bloque “True / False”.
2:54
Podemos unirlo con el segundo hueco de nuestro bloque de lógica.
2:58
Ahora leamos nuestro programa – cuando el control cambia, si el estado del control es true, entonces
3:04
cambiará la etiqueta a “ON”. Todo lo que nos falta definir es qué pasará si el estado es false. Pero
3:11
¿cómo podemos definir esto? ¡Ya no hay más ranuras en este bloque!
3:15
Para arreglar esto, tenemos que usar ese ícono de engrane que vimos antes. Algunos bloques como
3:20
este, tienen configuraciones personalizables. Esta pequeña ventana que sale es como una versión en
3:26
miniatura de la interfaz del Block Controller.
3:28
A la derecha está nuestro bloque, y a la izquierda está la librería con las cosas que podemos añadir al
3:33
bloque – justo como la interfaz principal. Arrastremos una nueva opción a nuestro bloque – la opción
3:39
“Else”. Cuando añadimos el “Else” en esta ventana de configuración, podemos ver que el nuestro
3:44
bloque ha cambiado en la ventana principal. Ahora tenemos una nueva área dónde añadir un
3:51
Cerremos la ventana de configuración presionando nuevamente en el engrane. Necesitamos
3:56
y peguemos el primero. Muchos shortcuts de Windows trabajan en el editor del Block Controller.
4:01
Haré Control+C para copiar y Control+V para pegar y añadir este bloque a nuestro comando “Else”.
4:08
Ahora leamos nuestro script una vez más. Cuando el control cambie, si el estado del control es true,
4:15
entonces cambia la etiqueta a “ON”. De lo contrario cambiará la etiqueta a “OFF”. ¡Se ve muy bien!
4:22
Hay algo más que quiero mostrarte antes de que terminemos.
4:25
Primero, tenemos que presionar esta barra amarilla “Save Changes” en la parte superior para que
4:31
este código se active. Esto te permite trabajar en tu programa con un sistema en tiempo real sin
4:37
interrumpir nada. Hasta que presiones “Save Changes” el código viejo seguirá corriendo.
4:42
Una vez que presiono esto, podemos regresar a nuestro esquemático del Designer para ver nuestro
4:47
botón y asegurarnos que funciona. Cuando apago el botón, la etiqueta dice OFF. Cuando lo enciendo,
4:54
la etiqueta dice ON. ¡Excelente!
4:56
Ok, tienes razón. Nos tomó 10 minutos hacer que un botón cambiara su etiqueta. No es tan
5:01
impresionante… AUN. Hicimos esto como un tutorial de cómo se conectan los bloques entre sí.
5:06
Realmente harás cosas más complicadas con el Block Controller. Por ejemplo – una cosa importante
5:11
que debes saber es que puedes apilar comandos uno arriba del otro. Estos bloques pueden verse
5:17
inflexibles, pero adaptan su tamaño no importando lo que necesites.
5:21
Digamos que quiero cambiar el color de este botón también. Puedo añadir un comando “Set Color” a
5:26
este bloque y el bloque se ajustará para alojarlo.
5:29
Por este medio, puedes añadir tantos comandos como desees – lo que significa que cuando el botón
5:35
está presionado puede cambiar su etiqueta y su color, puede inicializar otro control, e iniciar un
5:41
temporizador y activar una luz en un dispositivo de terceros y hacer que una capa sea visible en una
5:46
UCI y activar pirotecnia, etc.; todo al mismo tiempo. Ahora tenemos un botón que hace mucho más
5:53
que solo cambiar su etiqueta. Ese es el punto. Ahí es hacia donde vamos.
6:05
Pero por ahora, mantendré el mío muy sencillo y añadiré comandos que solo pongan el botón verde
6:10
si está en “ON” y en rojo si el botón está en “OFF”. Una vez más, puedo guardar mis cambios y al
6:15
regresar al Esquemático, tengo un botón que cambia su color y su etiqueta cuando interactúas con él.
6:21
Otra cosa muy importante con el Block Controller – Si haces click derecho en un bloque, hay algunas
6:26
opciones para ti. Puedes seleccionar “Show Comment”, lo que te brinda una sección de comentarios
6:32
en la parte superior del bloque.
6:33
Esto te permite escribir en él cualquier cosa que quieras, lo cual no tiene ningún efecto en la
6:38
funcionalidad del bloque. Así que, si quieres recordarte lo que hace el bloque, puedes ponerle un
6:45
También puedes elegir “Collapse Block” lo que compactará el bloque en una sola línea sin cambiar el
6:50
código. Esto puede ser muy conveniente si tienes muchos bloques en tu programa y necesitas
6:55
enfocarte en uno a la vez.
6:58
La línea dentada irregular indica que hay más que ver, y siempre puedes expandir el bloque de nueva
7:04
cuenta para configurarlo.
7:06
Ok, una cosa más. ¡Guardé lo mejor para el final! Mencionamos antes que el Block Controller es un
7:11
puente entre la gente que no escribe código – como yo – y la habilidad de llevar a cabo cosas
7:16
que requieren código. Bueno, estos bloques están literalmente escribiendo código por ti, y puedes
7:22
leer el código navegando en la pestaña que dice “Lua”.
7:25
Este es el código Lua que hemos hecho hasta ahora. Esta cosa al principio solo gestión, mientras que
7:30
el bloque que construimos está aquí abajo. Incluso, puedes tratar de leerlo, ahora que entiendes
7:36
cómo se estructura el lenguaje.
7:38
Si supieras cómo se escribe el código antes de haber hecho esto, pudiste haber escrito todo en lugar
7:43
de usar el Block Controller. Pero si hubieras escrito algo más o te hubiera faltado una mayúscula o si
7:50
no conoces exactamente cómo darle formato, entonces el código no hubiera funcionado.
7:55
El Block Controller te libera de toda esa preocupación permitiéndote construir tu programa con la
8:00
facilidad de unir piezas de un rompecabezas, mientras que el código se escribe tras bambalinas – libre
8:05
de errores de sintaxis.
8:07
Si estás interesado en aprender a codificar, leer esta pestaña Lua puede ayudarte en la labor. De
8:13
hecho, si quieres editar este código por tu cuenta, puedes seleccionar este ícono en la parte superior
8:18
y elegir “Convert to Script”. Sin embargo, saldrá una alerta, y con buena razón.
8:23
Puedes convertir bloques a código, lo que te permite seguir editando en Lua, pero no puedes
8:29
convertir eso que editaste a bloques. Una vez que presionas OK, la interfaz cambia a una ventana de
8:36
código editable. Tienes la opción de “Revert to Blocks” pero hacerlo solo cambiará el código a sus
8:41
bloques originales, por lo que perderás todos los cambios hechos en Lua.
8:46
Así que, este es el componente de Block Controller. Obviamente solo hemos visto una probada de lo
8:51
que puede hacer y lo que son los diferentes bloques dentro de su categoría. Sobre todo, queríamos
8:57
mostrarte como se conectan los bloques, demostrar cómo se personalizan y que te sintieras cómodo
9:02
navegando en la ventana de edición ahora que conoces que opciones tienes disponibles. En los
9:08
próximos videos, iremos un poco más despacio y hablaremos sobre los conceptos de un lenguaje de
9:13
programación y veremos cómo cada idea se implementa tanto en Lua como en el Block Controller.