Juste des petites questions de maths :
c'est pour le développement d'un jeu de stratégie en 2D isométrique:
pour afficher un personnage (sprite ) , il faut ses coordonnées ( en X et Y ) et la hauteur/largeur du rectangle définissant l'image qui représente le personnage.
Quand la fenêtre représentant la zone de vue ( Viewport en anglais ) est fixe , pas de probléme, si l'écran fait 640x480 et que le personnage a pour coordonnées 200,250 avec une taille d'image ( bitmap ) de 100x50 , cela tient à l'écran et on peut afficher notre personnage aux coordonnées 200 et 250.
Mais c'est lorsqu'on veut faire défiler l'écran dans tous les sens que cela se gâte ( scrolling ).
Si le Viewport se trouve décalé à par exemple 640+640=1280 en X et 480+320=800 par exemple en Y , le personnage ne doit plus être représenté à l'écran s'il n'est plus contenu dans le "viewport".
Et le problème aussi est de déterminer quel zone de l'image peut-être affichée à l'écran si une partie du "sprite" est contenue dans le "viewport" ( problème de "clipping").
Tout est clair jusque là ???
Donc pour faire plus bref :
*comment déterminer si un rectangle est inscrit dans un autre ?
* Et comment déterminer le rectangle à l'intersection du rectangle source ( le sprite donc zone affichable ) et rectangle cible (viewport ) ??
Partager