J'essaie de développer un jeu simple de style Zelda. J'ai trouvé ce sujet très utile
Comment LoZ: un lien vers le passé a-t-il géré les collisions de sous-tuiles?
que j'utilise comme référence pour développer mon mécanisme de détection de collision. Cependant, il y a quelque chose que je n'ai pas compris. Lorsque Link est derrière des bâtiments, seule une partie de lui est affichée. Quelqu'un peut-il m'aider à comprendre comment cet effet peut être atteint? Le bâtiment ne fait-il pas partie de l'arrière-plan?
Réponses:
Les jeux 2D en mosaïque ont généralement plus de calques qui s'affichent dans différentes couches - certains rendus en arrière-plan, d'autres au-dessus du joueur.
Cette partie du toit se rend au-dessus du joueur et c'est pourquoi le joueur peut aller derrière ce bâtiment.
Voici l'exemple d'image de mon jeu pour mieux expliquer:
la source
Bien que la réponse de Blodyavenger couvre la manière la plus probable de procéder, voici une autre possibilité qui permettrait un changement de perspective facile (par exemple quatre ou huit directions différentes, ou certains niveaux d'élévation de la caméra):
Considérez la vue de haut en bas de votre carte, par exemple
Où, disons,
X
marque un haut pilier. Pour chaque objet, vous stockez des images de toutes les perspectives possibles (ou utilisez les mêmes ...), qui peuvent être arbitrairement hautes de plusieurs tuiles. Maintenant, lorsque vous dessinez, commencez simplement par la colonne ou la ligne qui se trouve à l'arrière dans la perspective actuelle, par exemple la ligne 1 si vous regardez du sud. Après cela, dessinez la ligne / colonne la deuxième à l'arrière et ainsi de suite. De cette façon, lorsque quelque chose est supérieur à une tuile (étiré à la perspective actuelle), il se contentera de tirer ce qui se cache derrière.(Désolé pour le manque de belles photos, je ne suis pas trop doué pour les graphismes appliqués ...)
la source
Vous devez avoir une variable pour la profondeur et avoir les images avec la plus grande profondeur dessinées en premier, puis les autres avec la profondeur la plus faible. Et la profondeur de chaque objet doit être égale au négatif de sa coordonnée y.
Depth=-y
la source