23-02-2007, 07:20 PM
Bon moi je connais pas la map methode carlou, je m'y suis pas plongé car j'utilise pas du tout la meme methode. Le plus simple c'est qu'il te réponde, si il t'a conseillé un include pour les changements de map; lui ou qlqu'un qui utilise ce systeme.
Moi je faisais autrement.
Soit toutes mes maps faisaientt 100x100, ou alors elles peuvent toutes avoir des tailles différentes, eet dans ce cas tu dois stockées dans une table, la largeur et hauteur de chaque carte.
Ensuite, pour chaque perso, j'ai 3 infos sur sa poistion : id_map, x et y.
J'affiche la map "id_map",je place la case x/y au milieu, avec mon perso dessus, et les 10 cases autour de x/y.
Ensuite j'affiche les autres persos et items qui se trouve aussi sur la map id_map et dans la la périphérie de 10 cases autour de x/y.
Quand mon perso se déplace, je vérifie que x et/ou x arrive pas à 0 ou à la largeur/hauteur de la map id_map. Si c'est le cas, et qu'il avance encore, donc "en dehors" de la map, hop je change id_map pour mon perso : il a changé de pays, enfin de map.
Je recalcule la position x/y sur la map suivante : par exemple si il était en 0/0 (coin haut/gauche) il va apparaitre en 100/100 (coin bas/droite).
J'upadte id_map, x et y pour mon perso, et hop et rebelotte !
Moi je faisais autrement.
Soit toutes mes maps faisaientt 100x100, ou alors elles peuvent toutes avoir des tailles différentes, eet dans ce cas tu dois stockées dans une table, la largeur et hauteur de chaque carte.
Ensuite, pour chaque perso, j'ai 3 infos sur sa poistion : id_map, x et y.
J'affiche la map "id_map",je place la case x/y au milieu, avec mon perso dessus, et les 10 cases autour de x/y.
Ensuite j'affiche les autres persos et items qui se trouve aussi sur la map id_map et dans la la périphérie de 10 cases autour de x/y.
Quand mon perso se déplace, je vérifie que x et/ou x arrive pas à 0 ou à la largeur/hauteur de la map id_map. Si c'est le cas, et qu'il avance encore, donc "en dehors" de la map, hop je change id_map pour mon perso : il a changé de pays, enfin de map.
Je recalcule la position x/y sur la map suivante : par exemple si il était en 0/0 (coin haut/gauche) il va apparaitre en 100/100 (coin bas/droite).
J'upadte id_map, x et y pour mon perso, et hop et rebelotte !