Bonjour,
J'ai tenté d'adapter la fonction screenToIso (présente ici : http://www.developpez.net/forums/d88...s/#post5005921) pour mon jeu (merci à son auteur de l'avoir partagée d'ailleurs), mais je me heurte à un problème lorsqu'il s'agit de déplacer la caméra. Elle se comporte étrangement.
Je dessine ma map en parcourant tous les points de l'écran ou je dois dessiner mes tiles, et en faisant un screenToIso pour récupérer le type du tile correspondant.
Jusqu'ici, ca fonctionnait bien jusqu'à ce que je place un personnage. J'ai fait en sorte que la position a laquelle est centrée ma caméra soit la position du personnage que je dirige. Seulement, quand je me déplace, même si mon personnage est bien placé par rapport à la map, lui (et donc la case ou il se trouve, qui devrait être au centre de l'écran) n'est pas où il faut ...
Par exemple (oui je sais ca fait un peu copier coller mes 4 phrases mais bon) :
- Je bouge mon personnage vers le haut, il reste bien centré à l'écran en hauteur, mais la caméra se déplace en même temps d'une case vers la droite (le perso n'est donc plus au centre horizontalement).
- Je bouge mon personnage vers le bas, il reste bien centré à l'écran en hauteur, mais la caméra se déplace en même temps d'une case vers la gauche (le perso n'est donc plus au centre horizontalement).
- Je bouge mon personnage vers la gauche, il reste bien centré à l'écran en largeur, mais la caméra se déplace en même temps d'une case vers le bas (le perso n'est donc plus au centre verticalement).
- Je bouge mon personnage vers la droite, il reste bien centré à l'écran en largeur, mais la caméra se déplace en même temps d'une case vers le haut (le perso n'est donc plus au centre verticalement).
Notez que mes coordonnées sont un poil différentes , l'axe des x est vers le haut a droite et l'axe des y est vers le haut à gauche (donc une "rotation" de 90° vers la gauche par rapport à l'exemple présenté dans le lien pré-cité).
Je suis un peu bloqué du coup, peut être quelqu'un aura-t-il une idée ...
Merci d'avance.
Partager