La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

10. Modelación de un Videojuego. BALLOON ATTACK. El planeta está siendo invadido por extraños extraterrestres en forma de globos, y ningún arma existente.

Presentaciones similares


Presentación del tema: "10. Modelación de un Videojuego. BALLOON ATTACK. El planeta está siendo invadido por extraños extraterrestres en forma de globos, y ningún arma existente."— Transcripción de la presentación:

1 10. Modelación de un Videojuego. BALLOON ATTACK

2 El planeta está siendo invadido por extraños extraterrestres en forma de globos, y ningún arma existente en este planeta puede matarlos, excepto la tuya, por ello debes derrotar a los malvados invasores, y que ninguno de ellos aterrice en La Tierra. BALOON FIGHT

3 Debemos identificar cada objeto del mundo y crear una clase para ellos. A simple vista las clases que interfieren en el videojuego son: Globo Bala Protagonista Además de una clase WorldManager que será la encargada del ciclo del videojuego.

4 Clases de Objeto

5

6 Debemos identificar las acciones principales de cada objeto y crear un método para cada una de esas acciones. Además cada clase tendrá un método FrameGame(), que se encargará de la lógica del objeto en un determinado frame.

7 Debemos identificar los atributos de cada objeto del videojuego, además del tipo de dato de cada atributo, y si ésta es constante o variable. Finalmente, debemos identificar los parámetros que aceptará el constructor para inicializar todas sus variables.

8 Definición Clase Globo

9 Definición Clase Jugador

10

11 Definición Clase Bala

12 Manejo de estados El manejo de estado se realiza para los estados del videojuego mismo (pause, menú, loop principal) y estados de cada uno de los personajes del videojuego, tanto de IA en enemigos como de movimientos en el protagonista. Los estados se manejan con enumeraciones: Enum. En este caso sólo el personaje tiene estados, y estos son para determinar el tipo de movimiento.

13 Cada movimiento debe estar en la enumeración: El estado actual debe estar guardado en una variable global: Estados del Jugador

14 Cuando el usuario desee mover al jugador se asignará a éste: Si el usuario detiene al jugador, éste se detendrá según la tecla soltada: Estados del Jugador

15 Debemos identificar el input del usuario y asignarlo a cada acción del personaje o a acciones que pueda realizar éste en el mundo. En este caso debemos asignar las teclas del teclado a las acciones del personaje. Mover el personaje o disparar al presionar una tecla y detener al personaje si se suelta la tecla.

16 Input Mover (detener) a la izquierda: Tecla A y LEFT. Mover (detener) a la derecha: Tecla D y RIGHT. Disparar: Tecla SPACE.

17 Input: Evento al presionar una tecla

18 Input: Evento al soltar una tecla

19 Muchos objetos pueden tener distintos tipos que los representen. Por ejemplo de una clase enemigo pueden hacerse varios tipos de éste, con distintos atributos y comportamientos. En este caso habrá 2 tipos de globos: Rojos y Verdes. Los primeros son más rápidos, tienen menor probabilidad de aparición y si son muertos entregan mayor puntaje.

20 Cada tipo, debe estar indicado en la enumeración: El tipo debe estar guardado en una variable global: Tipos de globos

21 En el constructor, según el tipo dado como parámetro se creara un globo con características Rojo o Verde: Tipos de globos

22 Se debe implementar un contenedor para cada conjunto de objetos que se quiera manejar: mover, detectar colisiones, etc. En este caso se necesita una lista para contener a los globos y otra para las balas que dispara el personaje. En WorldManager: En Jugador: Contenedores

23 Loop del videojuego Aquí debemos implementar toda la lógica del videojuego: movimientos, colisiones entre elementos, etc. Lo primero es mover al personaje

24 Lo segundo es calcular cual será la condición para crear un nuevo globo: Mostraremos sólo 5 globos en pantalla. La probabilidad de que una bala se inserte es 5 / 50. Y como un globo rojo tiene menor probabilidad de aparición, éste tendrá probabilidad de 1 / 50 y el verde 4 / 50.

25 Loop del videojuego

26 Lo tercero es mover las balas y los globos. Las balas las movemos dentro del método FrameGame del jugador.

27 Loop del videojuego

28 Además debemos checkear si es que las balas o los globos han atravesado la pantalla, si es así los eliminamos. Para ello la posición Y del sprite de los globos debe ser mayor que la altura de la ventana. Y la posición Y del sprite de la bala debe ser menor que 0.

29 Loop del videojuego

30

31 Finalmente debemos determinar si hubo colisiones entre la bala y el globo, para esto iteramos entre ambas listas. Además si hubo una colisión agregamos el valor del globo al puntaje del jugador.

32 Loop del videojuego

33

34


Descargar ppt "10. Modelación de un Videojuego. BALLOON ATTACK. El planeta está siendo invadido por extraños extraterrestres en forma de globos, y ningún arma existente."

Presentaciones similares


Anuncios Google