8.9. Game Loop: User Input

8.9. Game Loop: User Input

Desarrollo de videojuegos de plataformas en 2D usando Simple DirectMedia Layer Aarón Ojeda Reyes Tutor: Agustín Trujillo Pino Mayo 2017 Agradecimientos A mi tutor, por su supervisión y disponibilidad a lo largo del proyecto. A mis compañeros en esta aventura que ha supuesto finalizar la carrera. Nada hubiera sido igual sin su compañía, bromas y consejos. En especial a Yarilo, David, Yeray y Luis, con los que la relación va más allá de lo académico. No puedo olvidar al resto de amigos fuera de la carrera. Gracias por interesarse por algo que a duras penas entendían y por obligarme a salir de «la cueva» de vez en cuando. A mi madre, a mi padre y a mi hermano, por el inmenso apoyo desinteresado que sólo la familia sabe proporcionar. A Itahisa, cuya paciencia y comprensión durante todo este proceso no han conocido límites. Índice general I Introducción 1 1. Descripción 3 2. Objetivos 5 3. Estructura del documento 7 3.1. Parte I Introdución . .7 3.2. Parte II Framework s2Dp .............................7 3.3. Parte III Editor de niveles S2PEditor ......................8 3.4. Parte IV Conclusiones . .9 4. Planificación 11 5. Estado del arte 15 5.1. Juegos de plataformas . 15 5.2. Herramientas de desarrollo . 17 II Framework s2Dp 23 6. Análisis 25 6.1. Establecimiento de requisitos . 25 6.2. Herramientas de desarrollo . 26 6.3. Determinación del alcance de los juegos . 26 6.3.1. Avance . 26 6.3.2. Estado del jugador . 27 6.3.3. Pantallas . 27 6.3.4. Objetos del juego . 28 6.3.5. Sonido . 29 6.3.6. Controles . 30 i ii ÍNDICE GENERAL 7. Comparativa de herramientas 31 7.1. Instalación y facilidad de uso . 31 7.1.1. C++/ SDL 2.0 . 31 7.1.2. C++ / SFML 2.1 . 37 7.1.3. C# / Monogame . 40 7.1.4. Resumen . 47 7.2. Presencia en la industria . 48 7.2.1. SDL . 48 7.2.2. SFML . 49 7.2.3. MonoGame . 50 7.3. Actividad de la comunidad . 51 7.4. Conclusión . 51 8. Diseño e implementación 53 8.1. Simple DirectMedia Layer (SDL) . 54 8.1.1. Inicialización . 55 8.1.2. Subsistema de video . 55 8.1.3. Subsistema de eventos . 56 8.1.4. Subsistema de timers . 58 8.1.5. Gestión de audio . 58 8.1.6. Finalizar SDL . 59 8.2. Estructura general del juego . 59 8.3. Objetos del juego . 61 8.3.1. Animaciones . 67 8.4. Estados del juego . 70 8.5. Niveles y escenarios . 75 8.6. Data-Driven Design . 79 8.6.1. Ficheros XML . 82 8.6.2. Parser . 86 8.7. Gestión de sonido . 93 8.8. Inicialización del juego . 96 8.9. Game loop: User input . 99 8.10. Game loop: Update . 103 8.10.1. Movimiento . 107 ÍNDICE GENERAL iii 8.10.2. Colisiones . 108 8.11. Game loop: Render . 109 8.12. Salir del juego . 119 8.13. Gestión del tiempo . 120 III Editor de niveles S2PEditor 123 9. Análisis 125 9.1. Casos de uso . 125 9.1.1. Proyectos . 126 9.1.2. Niveles . 129 9.1.3. Juego . 132 9.2. Enfoque del desarrollo . 133 10.Comparativa de bibliotecas GUI 137 10.1. Bibliotecas ligeras . 137 10.1.1. SDL2-widgets . 137 10.1.2. Game Gui . 138 10.1.3. libRocket . 139 10.1.4. Conclusiones . 142 10.2. Qt . 143 10.2.1. Visual Studio Add-in . 144 10.2.2. Usar Qt junto a SDL . 146 11.Diseño e Implementación 149 11.1. Interfaz Gráfica de Usuario . 149 11.2. Estructura de la solución adoptada . 150 11.3. Ventana principal . 154 11.4. Añadidos al framework s2Dp ............................ 155 11.4.1. Parser . 156 11.4.2. EditorState . 157 11.5. Clase EditorController . 159 11.6. SDL y Qt: clase QSDLCanvas . 160 11.6.1. Constructor . 161 11.6.2. Iniciando el editor . 162 iv ÍNDICE GENERAL 11.6.3. Actualización y dibujado . 163 11.6.4. Eventos de entrada . 164 11.6.5. Integración en la ventana principal . 166 12.Desarrollo de un juego con S2PEditor 169 12.1. Empezando . 169 12.2. Niveles . 170 12.3. Tilesets . 172 12.4. Imágenes . 175 12.5. Sonidos . 176 12.6. Backgrounds . 177 12.7. Objetos . 179 12.7.1. Gestor de objetos . 179 12.7.2. Crear un objeto . 180 12.7.3. Ejemplos . 184 12.7.4. Niveles finalizados . 189 12.8. Probar niveles . 193 12.9. Generar juego . 193 IV Conclusiones 195 13.Costes 197 14.Valoración 199 15.Trabajo futuro 201 A. Manual de usuario 203 A.1. Instalación . 203 A.2. Interfaz de usuario . 203 A.3. Distribución . ..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    221 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us