Je fais un moteur de tuile pour les jeux 2D descendants. Fondamentalement, le monde est composé d'une grille de tuiles.
Maintenant, je veux mettre par exemple des PNJ qui peuvent se déplacer sur la carte.
Que pensez-vous est le mieux:
- chaque tuile a un pointeur vers le PNJ qui est sur sa tuile, ou un pointeur NULL
- avoir une liste de PNJ, et ils ont les coordonnées de la tuile sur laquelle ils se trouvent.
- autre chose?
je pense
- est plus rapide pour la détection des collisions, mais il utiliserait beaucoup plus d'espace mémoire et il est plus lent de trouver tous les PNJ dans une carte.
- c'est le contraire.
tiles
data-structure
lezebulon
la source
la source
Comment gérez-vous les collisions avec la carte? Si vous avez une couche de collision, un moyen très simple serait de créer d'abord une liste de PNJ avec des coordonnées indiquant sur quelle tuile ils se trouvent, puis de parcourir cette liste et de marquer la tuile de couche de collision sous le PNJ comme tuile de collision. De cette façon, les collisions contre les PNJ seraient traitées en même temps que le reste de la carte. C'est, bien sûr, si les PNJ ne bougent pas ...
la source