Estoy construyendo un corredor infinito 2D. En el juego, el personaje salta de un pilar a otro y los pilares se generan aleatoriamente. Tengo esto funcionando. Pero, ¿cómo determinar si el personaje no saltó a un pilar y cayó en la brecha entre los pilares? Un pilar es de forma rectangular ordinaria.
12
Respuestas:
Agregue una región rectangular en la parte inferior del nivel, más baja que la altura mínima permitida de una plataforma. Si el jugador ha cruzado esta región, se ha caído de una plataforma.
fuente
if (playerPos.x < minHeight)
?Si tu juego solo se desplaza horizontalmente, puedes verificar si la posición vertical del personaje está debajo del borde inferior del escenario.
Si su juego también se desplaza verticalmente (probablemente hacia arriba), puede verificar si el jugador ha caído por debajo del borde inferior de la vista (es decir, el área del escenario que está en pantalla o enfocada en la cámara).
En general, la condición de muerte es si el personaje no puede permanecer "en la cámara". Al controlar el movimiento de su cámara, podrá ajustar su juego. Por ejemplo, si en una etapa de desplazamiento vertical solo permite que su cámara "gire" un poco hacia abajo, mientras permite un movimiento completo hacia arriba, penalizará caídas profundas fuera de la pantalla.
fuente
Como alternativa a la verificación de la coordenada vertical , puede verificar la velocidad vertical. Si el personaje está cayendo más rápido que algún umbral, la conclusión de que están muertos (incluso si no es un poco de plataforma baja lo suficiente como para llegar aún, el impacto sería fatal).
Por supuesto, esto solo funciona si su juego implementa adecuadamente la física básica de caída libre, es decir, la velocidad hacia abajo en realidad aumenta durante la caída, como lo hace en realidad (hasta la velocidad terminal).
fuente
Si tiene altura de pilares, puede encontrar la más baja existente y compararla con la posición vertical del jugador. Si está por debajo del pilar más bajo, no hay posibilidad de que pueda volver. Puede limitar esta comprobación solo a los pilares detrás y delante del jugador.
Ejemplo: tenemos 3 pilares, con alturas [10, 20, 40]. El jugador saltó sobre el pilar con una altura de 40, salta hacia adelante a 20. Se sintió en un espacio entre 40 y 20, ahora está en la altura 15. Eso significa que se sintió. Para un control menos estricto, espere hasta que tenga menos de 10.
fuente
Mantenga un recuento de cuánto tiempo ha caído un personaje. (es decir, cuánto tiempo han estado moviéndose "hacia abajo"). Una vez que han caído más de una pantalla llena de tiempo, por definición se han caído del escenario, ¿sí?
fuente