Want to create interactive content? It’s easy in Genially!
06 - Flying VR
IGNITE Serious Play
Created on February 21, 2024
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Vaporwave presentation
View
Women's Presentation
View
Geniaflix Presentation
View
Shadow Presentation
View
Newspaper Presentation
View
Memories Presentation
View
Zen Presentation
Transcript
FLYING VR
¡listos para el despegue!
¡Prepárate para surcar los cielos con esta emocionante aventura🛩️! Utiliza la aplicación de CoSpaces 📱y su tecnología de realidad virtual o el giroscopio mientras pilotas esta avioneta y recolectas todos los objetos antes de que se agote el tiempo ⏱️ ¿Crees que tienes lo necesario para cumplir con esta misión? ¡Llegó el momento de averiguarlo!
+PROBAR
¡prepárate para crear TU PROPIA VERSIÓN!
Índice
SELECCIONA LA MISIÓN
01 - Recorrido
02 - ¡A despegar!
03 - WIN/LOSE
FLYING VR
01
RECORRIDO
VAMOS A PRACTICAR
UN EXPERIMENTO CON LAS LISTAS
FLYING VR
¿CÓMO FUNCIONA?
- El jugador controla a una avioneta que nunca para.
- El objetivo es recorrer el mapa y coger todos los objetos antes de que termine el tiempo.
- Hay tres tipos de objetos: loros, aros y trofeos que se desplazan por un camino.
- También hay obstáculos con los que podemos chocar.
Aros
Obstáculos
Trofeos
Loros
Curioso...
flying vr
¡A cREAR!
MISIÓN 1:DISEÑA LA escena
- Ingresa a la escena.
- Elige un ambiente.
- Coloca modelos a modo de decoración.
FLYING VR
Comprendiendo las listas
¡hagamos un experimento!
4 modelos
Que recorrerán el roundpath para siempre.
Agrega 4 modelos iguales a tu escena, estos representarán los objetivos móviles.Agrega y modela 1 roundpath, que será el camino que todos ellos seguirán.
1 camino
Que recorra gran parte de tu escena.
+ DESAFÍO
¿HAY UNA MANERA MÁS FÁCIL?
flying vr
Antes de continuar, recordemos...
Una lista es una estructura de datos que permite almacenar y organizar elementos de manera secuencial. También se conoce como array o arreglo.
Las listas son mutables, lo que significa que puedes modificar, añadir o eliminar elementos después de haber creado la lista.
Lista de útiles
Tijeras
PEGAMENTO
La longitud de una lista puede cambiar dinámicamente, es decir, puedes agregar o quitar elementos.
LÁPIZ
Cada elemento tiene una posición única en la lista. La posición o índice generalmente comienza desde cero.
GOMA DE BORRAR
Elemento
Índice
Se puede acceder a elementos individuales en una lista utilizando su índice.
Para crear una lista, necesitaremos crear una variable primero.
LAS LISTAS
flying vr
Befor we continua
A list is a data structure that allows elements to be stored and organized sequentially. It is also known as an array.
Lists are mutable, meaning you can modify, add, or remove items after you have created the list.
SUPLY LIST
SCISSORS
GLUE
The length of a list can change dynamically, meaning you can add or remove elements.
PENCIL
Each element has a unique position in the list. The position or index usually starts from zero.
ERASER
Element
Index
Individual elements in a list can be accessed using their index.
To create a list, we will need to create a variable first.
LAS LISTAS
FLYING VR
Optimiza el código
MANTENLO SIMPLE
Para simplificar nuestro código, haremos uso de las listas y los bucles que sirven para recorrerlas.
+ ¿CÓMO?
Vamos a crear una lista con todos los modelos.
Luego, vamos a llamarlos uno por uno y hacerlos moverse por el roundpath con 5 segundos de diferencia entre ellos.
menos bloques, igual de eficiente
FLYING VR
02
¡A DESPEGAR!
ready for the take off!
APRENDIENDO A VOLAR
flying vr
¡A cREAR!
MISIÓN 2:PROGRAMA EL VUELO DE LA AVIONETA
+ ¿CÓMO?
fLYING VR
Tiempo
la interfaz de usuario
Objetos recolectados
Agrega textos que indiquen:
- El tiempo restante.
- Los objetos recolectados.
+ instrucciones
brinda información al jugador
flying vr
SUMANDO PUNTOS
1. Agrega y lista objetos
2. Programa las colisiones
¡Volvamos a usar las listas para ahorrarnos tiempo y esfuerzo!
3. Obtén y muestra puntos
tres pasos para lograr un objetivo
FLYING VR
03
WIN/LOSE
¿cuándo termina el juego?
PROGRAMA LAS CONDIONES DE VICTORIA Y DERROTA
FLYING VR
FLYING VR
SI
=4
=4
=5
¡GANAR ES MUY FÁCIL!
Sólo debes verificar que has recolectado el máximo de cada uno de los objetos y mostrar un mensaje o pasar a la siguiente escena.
ENTONCES
+ ¿CÓMO?
¡USA LOS BLOQUES DE CONDICIÓN!
flying vr
timer ygame over
2. Crea la función "gameOver"
Programa un temporizador de al menos 120 segundos, el cual muestre un mensaje de "GAME OVER" cuando finalice.
3. Opcional
1. Crea un script para el timer
Tic, tac, tu tiempo se acaba...
flying vr
otra forma de perder
1. Lista los obstáculos
Además de que se acabe el tiempo, es posible perder si colisionamos contra un obstáculo.Programa la detección de colisiones para determinar si has perdido.
2. Llama a la función
the bomb
eSCENA FINAL
La victoria merece ser celebrada.Diseña una escena de victoria para tu juego. De forma opcional, puedes crear una para la derrota también.
FLYING VR
ENHORABUENA¡has llegado al final del proyecto!
¡Eso ha sido todo por hoy!
¿Recorrer listas?
Y, si lo que queremos conseguir es un movimiento consecutivo pero separado en el tiempo, es necesario hacer que cada orden se ejecute por separado y para siempre.
Recorrer una lista significa iterar o pasar por cada elemento de esta y realizar una operación específica con cada uno de ellos. Por ejemplo, hacer que se muevan sobre un camino:
Cuando se recorre una lista, se accede a cada elemento de manera secuencial, desde el primer elemento hasta el último, y se ejecuta una serie de instrucciones en cada iteración. Por ejemplo, que se muevan con 5 segundos de diferencia.
¡Tu turno! Agrega 4 modelos más, añádelos a la lista y mira cómo recorren el camino sin necesidad de más programación.
¿Cuándo pierdes?
Cuando colisionas con un objeto de la lista "Obstáculos", significa que has perdido y deberás mostrar la pantalla de "Game over"
2. Llama la función "Game over"
- Detecta la colisión entre la avioneta y un obstáculo de la misma manera que lo hiciste con los puntos.
Script puntos
Script avioneta
Crea una variable
Muestra el valor de la variable en el elemento de texto de la interfaz de usuario que hayas destinado para ello
Modifica la variable para sumar puntos
Repite el procedimiento con otros dos tipos de modelos
¿Por qué una función?
El fin del juego, con todo lo que conlleva, será una un fragmento de código que se usará en distintas ocasiones a lo largo del desarrollo del juego, por lo que lo haremos a través de una función "global":
- Ingresa al script del tiempo.
- Crea una función llamada "gameOver" y activa la opción "Esta escena está disponible en todos los scripts", de modo que podamos llamar a esta función desde cualquiera de los script de nuestro proyecto.
3. Agrega el bloque "reiniciar escena" dentro de la función.
4. Agrega el bloque de llamada en el script del timer.
¡Desafío!
Programa a los modelos para que recorran el camino uno por uno con una diferencia de 5 segundos entre cada uno.
Al menos cinco de ellos
2. Hazlos programables
3. Agrégalos a una lista
1. Distribúyelos por la escena
Hazlo incluso mejor
Agrega efectos especiales y consulta al jugador si desea continuar.
2. Consulta al jugador si desea continuar o terminar el juego:
- Agrega fuego o humo que aparezca tras la colisión:
3. Establece la opacidad del modelo al 100% dentro de la función
2. Establece su opacidad a 0%
1. Dirígete a "construcción" y agrega un modelo de fuego o humo
¿Cómo y dónde?
Establece una nueva lista y llámala "obstáculos". Agrega todos los modelos que representen un obstáculo en tu escena.Esta lista puedes declararla en el script en el que venimos trabajando o, si te resulta más cómodo, en uno nuevo.
¿Cómo construir una interfaz de usuario?
Presiona la tecla "F" para acceder a la vista del jugador y sigue los pasos de este vídeo:
Una condición muy condicionada
Para ganar, necesitas conseguir todos los objetos dispersos por el escenario. La forma de comprobar si lo has conseguido es verificando si la cantidad recolectada de cada uno es igual a la meta.
4. Utiliza 3 bloques de comparación y crea las condiciones correspondientes para cada tipo de objeto:
- Cuenta la cantidad de objetos de cada tipo que tienes en el escenario.
2. Añade un bloque "Si" a tu programación
5. Programa la condición de victoria
3. Crea una condición múltiple usando un bloque "And" de la siguiente manera:
Recorre la lista, detecta la colisión y elimina los modelos
Agrega este par de bloques para que la la programación funcione siempre
Recorre la lista
Detecta la colisión de cada elemento de la lista con la avioneta
Elimina el elemento que colisiona con la cámara
¡Todo es una ilusión!
Lograr el movimiento constante de la avioneta, conlleva dos pasos: el de diseño, al adjuntar la avioneta a la cámara y el de programación, al hacer que la cámara se mueva hacia adelante por siempre.
3. En el apartado de programación, crea un nuevo script de CoBlocks y llámalo "avioneta".
- En el apartado de diseño, posiciona la cámara sobre la avioneta, asegúrate de que la vista sea adecuada al jugar.
4. Programa el movimiento constante de la cámara utilizando un bloque "siempre" y un bloque "mover".
2. Adjunta la avioneta a la cámara.
Cómo contabilizar el tiempo
El tiempo se medirá en segundos y desencadenará una animación de explosión al terminar.Prográmalo de la siguiente manera:
- Ingresa a CoBlocks y crea un script llamado "timer".
- Crea una variable llamada "time" y asígnale como valor inicial la cantidad de segundos que consideres necesaria, por ejemplo, 120.
- Agrega un bloque "repetir", que se ejecute la misma cantidad de veces que de segundos, dentro del cual:
- Muestras el valor de la variable en el texto que agregaste antes (timeText).
- Cambias el valor de la variable por -1.
- Haces una pausa de un segundo.
Mismo valor
El texto mostrará el valor de la variable
No olvides hacer una pausa
Posible solución
La solución más lógica, con los conocimientos que tenemos hasta ahora, sería programar cada modelo de forma individual y que todos se desplacen sobre el camino paralelamente. Pero... ¿Y qué tal si hay una forma más sencilla de conseguirlo? Vamos a verla.
