La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación Gráfica Manejo de Estados. Modelación con estados. ¿Por qué nos interesa modelar el videojuego basándonos en estados? Porque es más intuitivo.

Presentaciones similares


Presentación del tema: "Programación Gráfica Manejo de Estados. Modelación con estados. ¿Por qué nos interesa modelar el videojuego basándonos en estados? Porque es más intuitivo."— Transcripción de la presentación:

1 Programación Gráfica Manejo de Estados

2 Modelación con estados. ¿Por qué nos interesa modelar el videojuego basándonos en estados? Porque es más intuitivo trabajar así. Porque las acciones que realiza un personaje se pueden modelar con estados. Porque las diversas pantallas en el videojuego pueden modelarse con estados. Porque es más sencillo al momento de programar.

3 Switch Usado cuando se tiene un número finito de valores para una variable. Típicamente usado para el diseño de menús. Típicamente usado para el manejo de estados. (usando enum) switch(tecla) { case W: protagonista->MoverUp(); break; case A: protagonista->MoverLeft(); break; case D: protagonista->MoverRight(); break; case S: protagonista->MoverDown(); break; case ESPACE: protagonista->Disparar() break; case ESC: continuar = false; break; default: break; }

4 Enum Es un tipo de estructura en la que los literales de los valores que pueden tomar sus objetos se indican explícitamente al definirlas. enum TipoCarta { Pica, Diamante, Trébol, Corazones };

5 Uso de enumeraciones Una variable de tipo enumerado se define igual que cualquier otra variable: ; TipoCarta tipo; NumeroCarta numero;

6 Uso de enumeraciones Para la asignación, se debe asignar a la variable cualquiera de los valores de la enumeración: = ; tipo = TipoCarta.Corazones; Numero = NumeroCarta.kaiser;

7 Máquinas de Estados. Fuente: http://xnacommunity.codeplex.com/Wiki/View.aspx?title=IA_maqestados&referringTitle=Noticias

8 Principios Cómo un enemigo decide realizar una acción? Qué lo hace decidir? Podemos definirles estados: –Buscar –Patrullar –Seguir

9 Máquinas de estados finitos

10 En un momento determinado estamos en un estado. Si se cumple una condición se salta a otro estado.

11 Máquinas de estados finitos Estados básicos del loop de un videojuego.

12 Máquinas de estados finitos Estados de acciones de un enemigo.

13 Movimiento del Protagonista.

14 Movimientos Según la asignación del INPUT (teclado, mouse, etc.) se deben asignar movimientos a los diversas acciones que puede hacer el protagonista.

15 Movimiento de una nave ¿ Qué movimientos puede hacer una nave ?

16 Movimiento de una nave enum MovType { MOV_NONE, MOV_UP, MOV_RIGHT, MOV_LEFT, MOV_DOWN };

17 Movimiento de una nave ¿ Y las diagonales ?

18 Movimiento de una nave enum MovType { MOV_NONE, MOV_UP, MOV_RIGHT, MOV_LEFT, MOV_DOWN, MOV_UP_RIGHT, MOV_UP_LEFT, MOV_DOWN_RIGHT, MOV_DOWN_LEFT };

19 Cambio de Estado Por lo general, para los movimientos se puede pasar de un estado a otro. Las excepciones surgen cuando se construyen movimientos con la unión de otros movimientos: –Movimientos Diagonales. –Poderes Especiales.

20 Cambio de Estado

21

22 Mover la nave Vemos en qué estado estamos con un switch y realizamos dicha acción.

23


Descargar ppt "Programación Gráfica Manejo de Estados. Modelación con estados. ¿Por qué nos interesa modelar el videojuego basándonos en estados? Porque es más intuitivo."

Presentaciones similares


Anuncios Google