Programación de Juegos para Android

Programación de Juegos para Android 29: Salto Continuo

42 videos

238 minutos

Vamos a hacer el sistema de saltos que debería tener nuestro juego, que es parecido al que tiene el Geometry Dash. Cuando el jugador toca la pantalla el personaje debe saltar, obviamente. Eso ya lo hemos hecho en el pasado. De hecho, ya hemos visto que cuando hacemos un justTouched podemos hacer que salte. Pero luego, podemos hacer que si cuando el jugador choca con el suelo la pantalla sigue pulsada el jugador deba volver a saltar. Es decir, el jugador no salta

por su propio medio siempre. Cuando haya una colisión se debe verificar que si la pantalla sigue tocada por el jugador, este debe volver a saltar una vez más. Lo que voy a hacer es cambiar el nombre de esta variable por debeSaltar, y tan simple como que si debe saltar… salta. Ahora veremos en qué situaciones nos interesa que salte. Por ejemplo, vamos a crear una nueva variable. Igual se me está yendo de las manos el tema de las variables. La voy a llamar joeSaltando,

que esto será jumping cuando cree el JoeEntity. Esta variable va a indicar si está saltando o no. Y es sencillo: si se produce una colisión, será porque joeSaltando es falso, porque ya no estará saltando. Aunque, ahora que lo pienso esto no lo puedo hacer así, sino que lo debo hacer… así. Vamos a hacer que se termine un contacto también. Cuando haya terminado el contacto entre Joe y el suelo, es porque Joe está saltando ahora necesariamente.

Lo que voy a hacer por último es lo siguiente: si se toca la pantalla y no está saltando previamente, entonces se aplique un salto. Y lo que vamos a hacer, una vez veamos esto funciona, es que si cuando colisiono con el juego la pantalla sigue tocada, vuelva a saltar sin ningún tipo de problema. Esto cae, salta, y ya está. Veis que ya no puedo hacer saltos en el aire. Es necesario que Joe no esté saltando. Vamos a ver cómo hacer ahora ese doble salto o triple salto,

es decir, que al chocar con el suelo siga saltando. Si en este caso la pantalla aún está tocada, lo que vamos a hacer es que siga teniendo que saltar. Evidentemente esto lo tengo que escribir también abajo. En este caso, ahora aunque vosotros no lo veis, voy a mantener el ratón sin soltarlo. Y ahora no deja de saltar. Si suelto, ya no. Si pulso, ahora sí. Esto es un sistema más realista parecido a lo que hace Geometry Dash.

Debo portar esto a algo mucho más confortable de trabajar para que no tenga variables por todas partes, porque esto ya es un caos. Pero es más o menos lo que tenemos que hacer, siempre trabajar con flags debido a esta limitación del ContactListener de no dejarnos hacer saltos desde el mismo contacto. No es una limitación, es simplemente que funciona así. Necesitamos detectar cuando está saltando que no haga un doble salto en el aire,

que puede estar bien, pero en este caso no me interesa. Como si debe saltar para que los saltos se apliquen en una forma más controlada del programa, como puede ser junto al resto de gestiones de las físicas. Por el momento, esto es una forma intuitiva de hacer que salte.

Si quieres enterarte de los nuevos cursos, suscríbete. No habrá spam, prometido :)

Sobre el autor

foto de jotajotavm
José Javier Villena

jotajota pa los amigos y jota pa los de más cnfianza.

Bio Seria: Analista-Programador en diferentes lenguajes. Tutor PREMIUM de reconocidas plataformas de nivel mundial como CodigoFacilito. Redactor de artículos para Cristalab. Mi canal de YouTube está patrocinado por la editorial ANAYA y LaTostadora. Me gusta explicar con detalle y poner varios ejemplos para que no queden dudas.

Bio Molona: Me presento :) soy informatico, ni frostis d hardware pero muy muxo de programacion, friki a medias o del to segun el dia. Me gusta programar, muxo. Manejo varios lenguajes y tdo lo ke sepa lo comparto x amor al arte. Este no es mi trabjo pero lo ago mejor y con +ganas y calidad que si lo fuera, x eso mismo, xq para mi es divertido. Solo spero al menos algo de agradecimientO!! ;)

Dios, qe gusto haber escrito este parrafo cm me a dao la gana sin pensar en ortografia ni tildes ni historias!!!!!