Hogar Redes sociales Cómo crear un Lunar Lander en su juego HTML5: Dummies

Cómo crear un Lunar Lander en su juego HTML5: Dummies

Tabla de contenido:

Video: Juego de naves espaciales Lunar Landing (RESEÑA) 2024

Video: Juego de naves espaciales Lunar Landing (RESEÑA) 2024
Anonim

Este es uno de los tipos de juegos más antiguos. La idea básica es replicar el aterrizaje en un planeta para su juego HTML5 sin atmósfera. Los astronautas del Apollo tenían una cantidad limitada de combustible para desacelerar una nave espacial que se mueve rápidamente y llevarla a la superficie de forma segura. Este juego es una variación de ese tema.

La esencia de un juego de aterrizaje lunar es la interacción entre empuje y gravedad. El juego depende en gran medida del método addVector (). La gravedad imparte un pequeño empuje hacia abajo en cada cuadro, que puede contrarrestarse con el empuje de las teclas de flecha.

El juego presenta cuatro imágenes de módulo de aterrizaje diferentes (para proporcionar retroalimentación de que el usuario está aplicando empuje), que simplemente se intercambian con el método setImage () según sea necesario.

Colisiones del juego

La parte más interesante de este juego es la rutina de aterrizaje. La rutina de colisión normal no es lo suficientemente específica como para manejar este tipo de colisión, ya que el aterrizaje se considerará un aterrizaje seguro solo si se cumple una serie de condiciones. La forma más limpia de verificar condiciones múltiples se encuentra en una estructura profundamente anidada, como la siguiente:

tLander. checkLanding = function () {if (this. falling) {if (this. y> 525) {if (esta. x plataforma. x - 10) {if (this. dx -. 2) {if (this. dy < 2) {esto. setSpeed ​​(0); esta. cayendo = falso; message = "Nice Landing!";} else {mensaje = "demasiada velocidad vertical";} // end if} else {mensaje = "demasiado rápido hacia la izquierda";} // end if} else {mensaje = "demasiado rápido a la derecha ";} // terminar if} // terminar 'x too big' if} // terminar 'x too small' if} // terminar 'y no lo suficientemente grande' if} // end '¿estamos cayendo? 'if} // end checkLanding

Cuando comprueba varias condiciones a la vez, es mejor crear una instrucción if separada para cada una. Coloque cada instrucción if dentro de la siguiente, por lo que la parte más anidada del código representa el éxito.

  1. Determina si estás cayendo.

    Se creó una variable booleana llamada caída que describe si la nave espacial está cayendo o aterrizando. Si la caída es verdadera, la fuerza de gravedad se desactiva. Solo tiene sentido verificar un estado de aterrizaje si actualmente está cayendo.

  2. Compruebe el valor Y.

    Debido a que la plataforma está colocada en un valor Y de 550, el módulo de aterrizaje parecerá aterrizado cuando su valor Y sea mayor que 525. En realidad, solo le preocupa que la parte inferior del módulo de aterrizaje toque la parte superior de la plataforma. Tenga en cuenta que esta verificación ocurre dentro del cheque que cae. Si alguna condición falla, no es necesario verificar las demás.

  3. Compruebe el valor X.

    Querrá que el centro del módulo de aterrizaje esté dentro de los diez píxeles del centro de la plataforma, por lo tanto, use un par de declaraciones if anidadas para verificar las ubicaciones X.

  4. Verifique la velocidad horizontal.

    Para un aterrizaje seguro, la nave debe tener un valor dx entre -0. 2 y 0. 2. (Esto es un tanto arbitrario, pero al momento de las pruebas, parece correcto). Esto se verifica mejor con un par de declaraciones if anidadas.

  5. Comprueba la velocidad vertical.

    Si todo lo demás funciona bien, verifique que la nave no esté cayendo demasiado rápido. Usa la propiedad dy para determinar qué tan rápido está cayendo la nave espacial.

  6. Proporcione comentarios con cláusulas else.

    Una estructura profundamente anidada como esta te muestra el valor real de la sangría y los comentarios adecuados. Proporcione comentarios en las diversas cláusulas de otros para explicar por qué el aterrizaje se consideró un fracaso.

Consolas de texto de juegos

Otra parte interesante del código es el mecanismo para mostrar datos de texto al usuario. La forma más fácil de hacerlo es a través de un simple div HTML. Use CSS para colocar el div exactamente donde quiere que esté. Raramente debería utilizar el posicionamiento absoluto en el desarrollo web normal, tiene sentido en el contexto de la creación de una etiqueta para un juego.

Tenga en cuenta que es posible que necesite establecer la propiedad del índice z en un valor alto para asegurarse de que aparezca sobre el lienzo, o puede que no sea visible para el usuario. Aquí está el CSS que hace que la etiqueta se vea como salida en la pantalla:

#stats {position: absolute; font-family: monoespacio; izquierda: 50px; arriba: 50px; índice z: 999; color: blanco;}

Formas de mejorar tu juego

Este es solo un punto de partida para el juego. Se podrían agregar muchas otras características interesantes:

  • Combustible: Agregue una variable de combustible que se reduce cada vez que el usuario aplica el empuje. El empuje vertical debería usar más combustible que los ajustes horizontales. Si el nivel de combustible llega a cero, ignore más entradas de empuje. Este mecanismo pone una complicación realista en el juego.

  • Mejoras: Agregue algunas otras características que el usuario puede ganar : combustible adicional, gravedad menos intensa, una plataforma más amplia.

  • Múltiples aterrizajes: Tal vez mueva la plataforma de aterrizaje después de un aterrizaje exitoso, o haga que el usuario cargue un objeto a una segunda plataforma.

  • Obstáculos: Ponga basura espacial o edificios en el camino que bloqueará al jugador en contacto.

  • Cambiar el tema: La misma mecánica se puede usar fácilmente para un juego de helicóptero o globo aerostático.

Cómo crear un Lunar Lander en su juego HTML5: Dummies

Selección del editor

Cómo organizar sus archivos multimedia de WordPress - Dummies

Cómo organizar sus archivos multimedia de WordPress - Dummies

Si ha estado ejecutando su blog de WordPress durante cualquier período de tiempo, puede olvidar fácilmente qué archivos ha subido utilizando el cargador de WordPress. La biblioteca de medios de WordPress le permite descubrir de manera conveniente y fácil qué archivos se encuentran en su carpeta Cargas. Para encontrar una imagen, un video o un archivo de audio que ya tiene ...

Cómo organizar su WordPress. com Blog por tema: dummies

Cómo organizar su WordPress. com Blog por tema: dummies

Categorizar tus publicaciones en WordPress proporciona una estructura organizativa para tu blog. Cada publicación de blog asignada a una categoría se agrupa con otras publicaciones en la misma categoría. Cuando su blog tiene algunos meses, esta estructura crea un buen directorio temático de publicaciones para usted y sus lectores. Las listas de categorías generalmente aparecen en ...

Cómo prevenir registros y splogs de spam en su red de WordPress - Dummies

Cómo prevenir registros y splogs de spam en su red de WordPress - Dummies

If eliges tener registros abiertos en los que cualquier miembro del público puede registrarse y crear un nuevo sitio en tu red de WordPress, en algún punto, bots automatizados ejecutados por usuarios maliciosos y los spammers visitarán la página de registro de tu red e intentarán crear una, o múltiples, sitios en su red. Lo hacen ...

Selección del editor

Excel Pronóstico de ventas para principiantes Hoja de referencia: imitaciones

Excel Pronóstico de ventas para principiantes Hoja de referencia: imitaciones

Cuando comienzas a aprender a predecir, a menudo es una buena idea apoyarse en las herramientas de Excel en el complemento de Análisis de datos. Pero su alcance es bastante limitado y, en poco tiempo, es probable que se encuentre aprovechando directamente las funciones de la hoja de cálculo de Excel. Cuando se encuentre usando todas las estadísticas inferenciales que vienen ...

Filtrado de números en una tabla de Excel 2007 - Dummies

Filtrado de números en una tabla de Excel 2007 - Dummies

Si está trabajando con una gran tabla de datos en Excel 2007, puede aplicar filtros de número a las columnas que contienen valores para ocultar temporalmente registros no deseados. Excel proporciona varias opciones para filtrar datos numéricos, incluido el filtrado de valores superiores o inferiores (usando la opción Top 10) o el filtrado de valores que están por encima o ...

Filtrar registros en una tabla de Excel 2007 con Autofiltro - Dummies

Filtrar registros en una tabla de Excel 2007 con Autofiltro - Dummies

Usar la función Autofiltro en Excel 2007 para ocultar todo en una tabla, excepto los registros que desea ver. El filtrado muestra un subconjunto de una tabla, que le proporciona una manera fácil de dividir sus datos en fragmentos más pequeños y manejables. El filtrado no reorganiza sus datos; simplemente oculta temporalmente filas que ...

Selección del editor

Operadores lógicos en Java - Dummies

Operadores lógicos en Java - Dummies

Un operador lógico (a veces llamado "operador booleano") en la programación Java es un operador que devuelve un resultado booleano que se basa en el resultado booleano de una o dos expresiones más. A veces, las expresiones que usan operadores lógicos se llaman "expresiones compuestas" porque el efecto de los operadores lógicos es permitirle combinar dos o ...

Saber Por qué Java y XML Mesh-Dummies

Saber Por qué Java y XML Mesh-Dummies

Java y XML son los cimientos de una nueva generación de aplicaciones y Web servicios. En caso de que no esté convencido de que tanto XML como Java disfrutan de la portabilidad multiplataforma, revise estos hechos sobre las dos tecnologías: en su breve duración, XML se ha convertido en el estándar mundial para representar datos estructurados y autodescriptivos. Las listas de registro XML ...

Lo que debe saber sobre el tamaño de su código Java - Dummies

Lo que debe saber sobre el tamaño de su código Java - Dummies

Cuando está codificando en Java, deberá tener en cuenta el tamaño real de su código. Veamos un ejemplo. Pero primero. aquí están las nuevas palabras del vocabulario de hoy: foregift (fore-gift) n. Una prima que un arrendatario le paga al arrendador al tomar un arrendamiento. aquí anteriormente (aquí en primer plano) adv. En una parte anterior ...