Je construis un coureur infini 2D. Dans le jeu, les personnages sautent de pilier en pilier et les piliers sont générés aléatoirement. J'ai ce travail. Mais comment déterminer si le personnage n'a pas sauté sur un pilier et est tombé dans l'écart entre les piliers? Un pilier est de forme rectangulaire ordinaire.
12
Réponses:
Ajoutez une région rectangulaire au bas du niveau, inférieure à la hauteur minimale autorisée d'une plate-forme. Si le joueur a traversé cette région, il est tombé d'une plate-forme.
la source
if (playerPos.x < minHeight)
?Si votre jeu ne défile que horizontalement, vous pouvez vérifier si la position verticale du personnage est en dessous du bord inférieur de la scène.
Si votre jeu défile également verticalement (probablement vers le haut), vous pouvez vérifier si le joueur est tombé sous le bord inférieur de la vue (c'est-à-dire la zone de la scène qui est à l'écran ou au centre de la caméra).
En général, la condition de mort est si le personnage ne reste pas "à huis clos". En contrôlant le mouvement de votre caméra, vous pourrez régler votre gameplay. Par exemple, si dans une étape de défilement vertical, vous ne permettez à votre appareil photo que de se «tasser» un peu vers le bas, tout en autorisant un mouvement complet vers le haut, vous pénaliserez les chutes profondes hors écran.
la source
Alternativement à la vérification des coordonnées verticales , vous pouvez simplement vérifier la vitesse verticale. Si le personnage est en train de tomber plus vite que d'un certain seuil, conclure qu'ils sont morts (même s'il est un peu assez de faible plate - forme pour atteindre encore, l'impact serait fatale).
Bien sûr, cela ne fonctionne que si votre jeu implémente correctement la physique de base de la chute libre, c'est-à-dire que la vitesse vers le bas augmente réellement pendant la chute, comme elle le fait dans la réalité (jusqu'à la vitesse terminale).
la source
Si vous avez la hauteur des piliers, vous pouvez trouver la plus basse existante et la comparer à la position verticale du joueur. S'il est en dessous du pilier le plus bas, il n'y a aucune chance qu'il puisse revenir. Vous ne pouvez limiter ce contrôle qu'aux piliers situés derrière et devant le joueur.
Exemple: Nous avons 3 piliers, avec des hauteurs [10, 20, 40]. Le joueur a sauté est sur le pilier avec une hauteur de 40, il saute en avant à 20. Il se sentait entre 40 et 20, il est maintenant à la hauteur de 15. Cela signifie qu'il s'est senti. Pour un contrôle moins strict, attendez qu'il soit en dessous de 10.
la source
Comptez combien de temps un personnage est tombé. (c'est-à-dire depuis combien de temps ils se déplacent "vers le bas"). Une fois qu'ils sont tombés plus d'un écran de temps, ils sont par définition tombés de la scène, oui?
la source