02-08-2011, 12:00 PM
(Modification du message : 02-08-2011, 12:25 PM par Angelblade.)
Je dessine la carte par Javascript via la balise Canvas.
Je présuppose que le rendu de la carte seras plus lent puisque la structure de données n'est pas orienté pour récupérer les cellules d'une couche.
Dans un cas je récup mes cellules présente dans une couche directement par cellules[couche].
Dans l'autre je dois aller la chercher en bouclant coordonée par coordonée sur cellules[x][y][couche].
Mais au final ce n'est peut être pas beaucoup plus long.
Concernant ton post akira777, la première solution, que j'utilise actuellement est justement orienté par couche.
La couche 0 est le sol, ensuite le décor puis le toit (en simplifiant) et enfin les couche 3 celles des évènements.
Cependant comme une carte peut n'avoir que très peu d'évènement et qu'ils sont hautement configurable j'avais pensé à ceci:
Les évènements pourrait avoir trois formes:
Ce que je me demande c'est la structure que je dois privilégier pour les cellules: une structure par couche ou une structure par coordonées?
Et pour les cellules comme pour les events: Dois-je sauvegarder la cellule (un nombre) ou des coordonées x,y
Je présuppose que le rendu de la carte seras plus lent puisque la structure de données n'est pas orienté pour récupérer les cellules d'une couche.
Dans un cas je récup mes cellules présente dans une couche directement par cellules[couche].
Dans l'autre je dois aller la chercher en bouclant coordonée par coordonée sur cellules[x][y][couche].
Mais au final ce n'est peut être pas beaucoup plus long.
Concernant ton post akira777, la première solution, que j'utilise actuellement est justement orienté par couche.
La couche 0 est le sol, ensuite le décor puis le toit (en simplifiant) et enfin les couche 3 celles des évènements.
Cependant comme une carte peut n'avoir que très peu d'évènement et qu'ils sont hautement configurable j'avais pensé à ceci:
Code :
{
nom:'Carte',
largeur:3,
hauteur:3,
cellules: /*mes cellules*/
events: /*mes évènements*/
}
Les évènements pourrait avoir trois formes:
Code :
// un objet ou chaque clé est la cellule, chaque valeur l'évènement
events:{
0:{type:'pnj'}, // évènement en cellule 0
5:{type:'monster'}
}
// plus lourd: un tableau où l'event à comme propriété la cellule où il est
events:[
{cell:0,type:'pnj'},
{cell:5,type:'monster'}
]
// encore plus lourd: l'event indique ses coordonées sur la map
events:[
{x:0,y:0,type:'pnj'},
{x:2,y:1,type:'monster'}
]
Ce que je me demande c'est la structure que je dois privilégier pour les cellules: une structure par couche ou une structure par coordonées?
Et pour les cellules comme pour les events: Dois-je sauvegarder la cellule (un nombre) ou des coordonées x,y