Want to create interactive content? It’s easy in Genially!

Get started free

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:

Vaporwave presentation

Women's Presentation

Geniaflix Presentation

Shadow Presentation

Newspaper Presentation

Memories Presentation

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"

  1. 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":

  1. Ingresa al script del tiempo.
  2. 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:

  1. 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:

  1. 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".

  1. 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:

  1. Ingresa a CoBlocks y crea un script llamado "timer".
  2. Crea una variable llamada "time" y asígnale como valor inicial la cantidad de segundos que consideres necesaria, por ejemplo, 120.
  3. Agrega un bloque "repetir", que se ejecute la misma cantidad de veces que de segundos, dentro del cual:
    1. Muestras el valor de la variable en el texto que agregaste antes (timeText).
    2. Cambias el valor de la variable por -1.
    3. 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.