2010-08-10 49 views
1

Je crée un jeu de défilement latéral 2d et j'ai une question concernant la collision. J'ai lu divers articles et certains d'entre eux disent que vous devriez avoir une couche de collision, qui est exactement le même style que la couche de tuiles, mais stocke simplement des bits. Je comprends cette logique, mais que se passe-t-il si mes carreaux sont en réalité des structs qui contiennent une propriété appelée IsSolid. Puis-je pas simplement vérifier si la mosaïque actuelle isSolid au lieu d'avoir une autre couche? Ou est-ce que le fait d'avoir une couche de collision apporte d'autres avantages que j'ai manqués?Tilemap - Couche de collision nécessaire?

Merci pour toute aide

+1

Hey - vous feriez peut-être mieux de poser vos questions de développement de jeu à http://gamedev.stackexchange.com (pour ne pas dire que ce n'est pas pertinent ici - mais il est beaucoup plus susceptible d'être remarqué par un groupe de personnes ayant une expertise dans la zone du dev de jeu si vous le demandez là-bas) – Smashery

+0

Hey. Merci pour le lien, je n'avais pas réalisé qu'un gamedev était sur StackExchange. Je pense que je suis tombé sur le jeu en général et je me suis dit que c'était le seul jeu lié aux jeux. – Skoder

Répondre

5

Vraiment il est seulement un gros problème si votre jeu prend en charge plusieurs couches.

Si vous avez plusieurs calques visuels (par exemple: fond, champ de jeu, premier plan), il peut être utile de pouvoir traiter tous ces calques de la même manière. Séparer les données de collision peut être structurellement "agréable".

Ce que vous faites dépend de vous. Vous pouvez implémenter une couche de collision séparée que vous pouvez modifier séparément. Cependant, je le déconseille car il faut alors synchroniser votre couche de collision avec votre couche visuelle "playfield". Une meilleure solution consiste, lorsque vous chargez un niveau, à générer dynamiquement une "couche" de collision en extrayant les données de votre couche de terrain de jeu (et peut-être d'autres couches, si cela a du sens pour votre jeu). Vous allez probablement stocker cette "couche" dans un format complètement différent et placer les données visuelles pour un niveau.