Android 4 Desarrollo de juegos 2D

Documentos relacionados
Índice general 1. Excel. Fácil y rápido. Luis Navarro - Santiago Travería

Introducción a la informática y al uso y manejo de aplicaciones comerciales

Diseño de medios y recursos didácticos

TÉCNICAS DE INVESTIGACIÓN COMERCIAL

ANIMACIÓN DEL PUNTO DE VENTA: MERCHANDISING

Windows 98 INNOVACIÓN Y CUALIFICACIÓN, S.L. De la edición INNOVA 2001

PowerPoint 2003 Julio Vílchez Beltrán De la edición INNOVA 2006

Access 2003 Jesús Martín Alloza De la edición INNOVA 2005

Tpvplus Innovación y Cualificación, S.L. De la edición INNOVA 2005

Técnicas de administración de Tesorería

Prevención de riesgos laborales básico

Técnicas para mejorar la Autoestima, el Autocontrol y la Comunicación

Técnicas de secretariado de dirección

Instalaciones eléctricas en edificios

Módulo 5. Entorno Desarrollo Android. José A. Montenegro

TPC Sector Metal. contenido formativo específico

Introducción a la programación Android. Programación III - 6to año Escuela Técnica ORT Leo Lob -

PROCEDIMIENTO ADMINISTRATIVO

REANIMACIÓN CARDIO PULMONAR (CÓMO PREVENIR LA ENCEFALOPATÍA ANÓXICA)

TÉCNICAS MANIPULADOR ADMINISTRACIÓN ALIMENTOS CONTABLE

CRISIS: SOLUCIONES PARA LAS EMPRESAS

Operador de grúas torre

Introducción al Desarrollo de Aplicaciones Móviles con Android

Aplicaciones sobre Android

Construcción de obra de fábrica ordinaria

Desarrollo de Productos Editoriales Multimedia

Gramática de Lengua Inglesa

Curso práctico avanzado

Autómatas programables

Nutrición y Dietética

Tecnología digital y realidad virtual

Android 7 Principios del desarrollo de aplicaciones Java

Adobe Photoshop. Lightroom 3. Edición de fotografía digital. David Orós Escusol

APLICACIONES INTUITIVAS CON ANDROID STUDIO

MASTER DESARROLLO DE APLICACIONES ANDROID

Ejercicios de geolocalización y mapas

Diseño de Páginas Web

Programación Android Completo

Diseños y métodos de investigación en traducción

Laboratorio 01: Generación del Hola Mundo Android

INSTALACIÓN Y CONFIGURACIÓN DE SISTEMAS OPERATIVOS. (140 HORAS) IMPLANTACIÓN DE LOS ELEMENTOS DE LA RED LOCAL. (10 HORAS)

LOS PORTAFOLIOS ELECTRÓNICOS EN EL HEMISFERIO DE LA EVALUACIÓN AUTÉNTICA

DIDÁCTICA DE LAS LENGUAS MODERNAS COMPETENCIA PLURILINGÜE E INTERCULTURAL

Programa Formativo IMSV DESARROLLO DE PRODUCTOS AUDIOVISUALES MULTIMEDIA INTERACTIVOS

REALIDAD AUMENTADA TECNOLOGÍA PARA LA FORMACIÓN

ÍNDICE INTRODUCCIÓN CAPÍTULO 1. ARQUITECTURAS DE UN SISTEMA MICROINFORMÁTICO... 15

Introducción a Android. [Tema 2]

METODOLOGÍAS CENTRADAS EN EL ALUMNO PARA EL APRENDIZAJE EN RED

Objetivos. Contenido. 5 Gadgets

ORIENTACIÓN PROFESIONAL

Curso: Windows 8. Familia Profesional: Informática y comunicaciones. Modalidad: On-line (Teleformación). Duración: 35 h.

MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC. Autores: Fernando E. Valdés Pérez Ramon Pallàs Areny. Título de la obra:

Android Guía de desarrollo de aplicaciones Java para Smartphones y Tabletas (3ª edición)

PROPUESTA DE INFORME TECNICO PREVIO DE EVALUACION DE SOFTWARE

Convivencia Introducción

LA ALFABETIZACIÓN MULTIMODAL

TÉCNICAS DE ORGANIZACIÓN DE EVENTOS

Creación de programas de radio

Programación en lenguajes estructurados de aplicaciones de gestión. Código: J62.13 Nivel: 3

Contenido. El entorno Windows 7. Explorador de Windows

Photoshop CS6 UNIDAD DIDÁCTICA 1. PRESENTACIÓN. Presentación UNIDAD DIDÁCTICA 2. CONCEPTOS BÁSICOS

Sensores y eventos - Ejercicios

IFCT0209 Sistemas Microinformáticos

Curso Experto en Programación Android

UF0513: Gestión auxiliar de archivo en soporte convencional o informático

Samsung Tech Ins.tute - UPM DESARROLLO DE APLICACIONES EN ANDROID. Mayo Abraham Gu.érrez Rodríguez. Abraham Gu.

PSICOLOGÍA. MANUALES PRÁCTICOS. Directores: Manuel Maceiras Fafián Juan Manuel Navarro Cordó Ramón Rodríguez García

Una plataforma de préstamo y lectura de libros electrónicos para las bibliotecas

Salida integral y Democrática a la Vida y a la Crisis Mundial Volumen II

SOFTWARE DE APLICACIÓN. CINDEA Sesión 02

Windows 8. Windows 8 es el nombre oficial de la última versión del sistema operativo más popular del gigante

Interfaz interfaz textual gráficos

FUNDAMENTOS Y APLICACIONES EN METODOLOGÍA CUANTITATIVA

Adobe After Effects CC 2018 THE OFFICIAL MASTER TRAINING

Instalaciones eléctricas de interior

INDICE Introducción Capitulo 1. La realidad virtual que podemos conseguir Capitulo 2. Conexión del Power Glove de Mattel a nuestro PC

Redes multimedia. Xavier Vilajosana Guillén (coordinador) Miquel Font Rosselló Silvia Llorente Viejo Joan Manuel Marqués Puig PID_

DATOS GENERALES DEL CURSO

Redacción periodística. Medios, géneros y formatos

DIDÁCTICA DE LA TECNOLOGÍA

Transcripción:

Índice del contenido 1 Android 4 Desarrollo de juegos 2D Scott McCracken

2 Android 4: Desarrollo de Juegos 2D Android 4: Desarrollo de Juegos 2D Scott McCracken De la edición: INFORBOOK'S, S.L. Se ha puesto el máximo interés en ofrecer al lector una información completa y precisa. Sin embargo, INFORBOOK'S, S.L. no asume ninguna responsabilidad derivada de uso, ni tampoco por cualquier violación de patentes y otros derechos de terceras partes que pudieran ocurrir estando este libro destinado a la utilización de aficionados o a la enseñanza. Las marcas o nombres mencionados lo son únicamente a título informativo, siendo propiedad de sus legales registradores. Reservados todos los derechos. Ninguna parte de este libro puede ser reproducida, grabada en sistema de almacenamiento o transmitida en forma alguna ni por cualquier procedimiento, ya sea electrónico, mecánico, reprográfico, magnético o cualquier otro. Asimismo queda prohibida la distribución, alquiler, traducción o exportación sin la autorización previa y por escrito de INFORBOOK'S, S.L. Editado por:inforbook's, S.L. c/ Muntaner, 181 08036 BARCELONA 934 394 055 e-mail: info@inforbooks.com web: http://www.inforbooks.com ISBN-13: 978-84-15033-78-3 ISBN-10: 84-15033-78-8 Depósito legal: B-13093-2014 Diseño cubierta: Aplicaciones Básicas de la Informática, S.L. IMPRESO EN ESPAÑA - PRINTED IN SPAIN

Contenido Índice del contenido 3 1. Multifacético Android... 17 2. Entorno de desarrollo... 27 3. El programador de juegos... 45 4. Gestión del almacenamiento... 81 5. Gestión del audio... 97 6. Gestión gráfica... 115 7. Gestión del teclado... 129 8. Gestión del toque de pantalla... 147 9. Gestión del acelerómetro... 173 10. Gestión de pantalla... 187 11. El juego, al fin... 217 12. El juego cobra vida... 259

4 Android 4: Desarrollo de Juegos 2D

Índice del contenido Índice general 5 Introducción... 13 Objetivo del libro... 13 A quién va dirigido... 13 Estructura... 14 Y después de esto...... 17 Código fuente del libro... 17 Capítulo 1: Multifacético Android... 19 Qué incorpora cada versión de Android... 19 Fragmentación de versiones... 21 Nuestro minimum target... 22 Dispositivos... 23 Programa de compatibilidad... 25 Jugar en todo momento y en cualquier sitio... 26 Igualdad de oportunidades... 27 Resumen... 28 Capítulo 2: Entorno de desarrollo... 29 Ajustes al entorno de desarrollo... 29 Funcionalidades avanzadas del emulador... 29 Creación de un dispositivo virtual (AVD) para usar HAXM... 30 Ejecución de una aplicación... 31 Qué hacer si Eclipse no reconoce el dispositivo real... 31 Diferencias entre un dispositivo real y uno emulado... 32 Selección del dispositivo de la prueba... 34 Configuración de ejecución... 34 Modo de selección del dispositivo... 35 Depurar una aplicación... 36 Colocación de un punto de interrupción (breakpoint)... 36 LogCat... 41 DDMS... 42

6 Android 4: Desarrollo de Juegos 2D Android Debug Bridge (ADB)... 43 Resumen... 45 Capítulo 3: El programador de juegos... 47 Tipos de juegos... 48 Arcade y acción... 49 Carreras... 49 Deportivos... 50 Fondos animados... 50 Informales... 50 Juegos de cartas y casino... 50 Puzzles y juegos de ingenio... 51 Ganar experiencia con Google Play... 51 Diseño de un juego... 51 Definición de las reglas del juego... 52 Garabatos del juego... 53 Guión e intérpretes... 55 Transiciones entre pantallas... 56 Qué debo saber sobre la codificación?... 64 1. Gestión de almacenamiento... 65 2. Gestión de audio... 66 3. Gestión de gráficos... 66 Gráficos 2D... 67 El problema de la actualización de pantalla... 68 Sobre colores y formatos... 69 Sobre transparencias... 70 Acciones del módulo gráfico... 72 4. Gestión de pantallas... 72 5. Gestión de entradas de usuario... 73 Acelerómetro... 74 6. Motor del juego... 75 El problema de la frecuencia de actualización de la pantalla... 77 El problema de la representación continua... 78 Gestión del motor del juego... 82 Resumen... 82

Índice del contenido 7 Capítulo 4: Gestión del almacenamiento... 83 Nomenclatura y carpetas del proyecto... 84 Revisión de la composición del núcleo motor... 84 Plan de trabajo... 85 Gestión de almacenamiento... 85 Qué haremos en este capítulo... 85 Interfaz para la gestión de almacenamiento (IAuxInputOutput)... 86 Clase AuxInputOutput... 87 Prueba para acceder al almacenamiento (TestInputOutput)... 89 Manifiesto... 90 MainActivity... 90 Resumen... 97 Capítulo 5: Gestión del audio... 99 Gestión del audio... 99 Qué haremos en este capítulo... 100 Interfaces de audio... 101 Interfaz IAuxAudio... 101 Interfaz IAuxSonidoMem... 102 Interfaz IAuxStreaming... 102 Implementación de las clases para gestionar el audio (AuxAudio, AuxStreaming, AuxSonidoMem)... 103 Clase AuxAudio... 104 Clase AuxSonidoMem... 106 Clase AuxStreaming... 107 Prueba de la solución de la gestión de audio (TestAudio)... 113 MainActivity de TestAudio... 114 Resumen... 116 Capítulo 6: Gestión gráfica... 117 Gestión de los gráficos... 117 Qué haremos en este capítulo... 118 Interfaz IAuxBitmap... 118

8 Android 4: Desarrollo de Juegos 2D Clase AuxBitmap... 119 Interfaz IAuxGraficos... 120 Clase AuxGraficos... 121 Prueba de la solución de la gestión de gráficos (TestGraficos)... 126 Layout... 126 Asset... 127 MainActivity... 127 Resumen... 130 Capítulo 7: Gestión del teclado... 131 Clases para la gestión de entradas de usuario... 131 Qué haremos ahora... 132 Interfaz IAuxUserInput... 132 Código de la interfaz IAuxUserInput... 133 Clase AuxPoolObjetos... 136 Proceso de la entrada por teclado... 137 Clase AuxTeclado... 138 Clase AuxUserInput... 141 Prueba de la solución de la gestión del teclado (TestTeclado)... 142 Layout en código... 143 MainActivity de TestTeclado... 145 Resumen... 148 Capítulo 8: Gestión del toque de pantalla... 149 Gestión de los toques de pantalla... 149 Qué haremos en este capítulo... 150 Interfaz IAuxUserInput... 150 Interfaz IAuxTouch... 152 Clase AuxSingleTouch... 154 Clase AuxMultiTouch... 157 Obtención del puntero índice de un evento... 159 Completando la clase AuxUserInput... 166 Prueba de la solución de la gestión de la pantalla táctil (TestTouch)... 168 Código del layout... 169 MainActivity de TestTouch... 170

Índice del contenido 9 Resumen... 174 Capítulo 9: Gestión del acelerómetro... 175 Otras entradas desde el usuario... 175 Qué haremos ahora... 176 Interfaz IAuxUserInput... 176 Finalizando la clase AuxUserInput... 178 Clase AuxAcelerometro... 180 Prueba de la gestión del acelerómetro (TestAcelerometro)... 183 Código del layout... 184 Componentes auxiliares... 184 MainActivity de TestAcelerometro... 185 Resumen... 187 Capítulo 10: Gestión de pantalla... 189 Revisión de la estructura del juego... 189 Qué haremos en este capítulo... 191 Clase AuxDisplay... 192 Motor del juego: Integración... 194 De qué se debe ocupar este objeto que denominaremos AuxJuego?... 194 Interfaz IAuxJuego... 195 Clase AuxJuego... 196 Método oncreate()... 197 Método onresume()... 201 Método onpause()... 201 Métodos getter... 202 Método setdisplay()... 203 Prueba de la solución de la gestión de pantallas (TestDisplay)... 204 Assets de la aplicación... 204 Inicio de la aplicación... 205 TestDisplay: Actividad inicial... 205 Manifiesto de la aplicación... 207 PantallaPrincipal... 208 PantallaSegunda... 210 Prueba de la gestión de pantallas (TestDisplay)... 212

10 Android 4: Desarrollo de Juegos 2D Clase AuxRenderSurface... 213 Aceleración por hardware... 218 Resumen... 218 Capítulo 11: El juego, al fin... 219 Qué haremos en este capítulo... 219 Cuadrícula base del juego... 221 Recortes y sonidos... 224 Algo de sonidos... 230 Configuración del proyecto del juego... 230 Carpeta assets... 230 Colocación del núcleo motor... 231 Actividad principal del juego Eat-Or-Run... 232 Sobre el archivo de manifiesto... 233 Implementación de la clase EatOrRun... 234 Clase Estadisticas... 238 Clase DisplayPrincipal... 241 Pantallas de ayuda... 245 DisplayAyuda1... 247 DisplayAyuda2... 249 DisplayAyuda3... 251 Pantalla de resultados... 254 Resumen... 260 Capítulo 12: El juego cobra vida... 261 Qué haremos en este capítulo... 261 Control del juego... 262 Campo de juego... 262 Clase Ranita... 264 Propiedades de la clase Ranita... 264 Métodos de la clase Ranita... 265 Corrección en el desplazamiento diagonal... 266 Código de la clase Ranita.java... 267 Clase Bichito... 269 Propiedades del objeto Bichito... 270

Índice del contenido 11 Métodos de la clase Bichito... 271 Código Bichito.java... 271 Clase ControlJuego... 273 Control de la velocidad de la ranita... 273 Código ControlJuego.java... 273 Creación del objeto ControlJuego... 274 Colocación del bichito... 275 Actualización cíclica... 275 Comprobación del final del juego... 277 Comprobación de la colisión entre objetos... 278 Ajuste de coordenadas... 279 Pantalla del juego (DisplayJuego)... 279 Código DisplayJuego.java... 280 Enumeración para los estados del juego... 281 Actualización en el estado "Preparado"... 282 Actualización en el estado "Jugando"... 283 Actualización en el estado "Pausa"... 284 Actualización en el estado "FinJuego"... 285 Presentación de la pantalla en los diferentes estados... 285 Dibujo del campo... 286 Pausa/Fin del juego... 292 A jugar... 293 Creación de una biblioteca con el núcleo motor... 293 Añadido de archivos JAR al proyecto Android... 293 Archivos JAR... 294 Pasos para la utilización de un archivo JAR... 294 Obtención del archivo JAR... 294 Creación de una carpeta para el archivo JAR... 294 Añadir el archivo JAR... 294 Uso de la biblioteca... 295 Resumen... 295 Índice... 301

12 Android 4: Desarrollo de Juegos 2D