Ratha
Non en effet et sur le SdZ ils n'expliquent même pas comment faire un système d'exploitation. Donc je vois vraiment pas comment faire...
Il faut réfléchir, le SdZ est un tutoriel, il ne te donne pas tout. Il faut te servir de ta TETE, et pas attendre qu'on te donne les réponses.
.----------.
|oooooooooo|
|oooooooooo|
|oooooooooo|
.----------.
Bien, je ne sais pas si tu as eu des cours sur le repérage des points dans un plan donc je t'explique vite fait. Dans un plan, tu as un point appelé origine. Comme tu es dans un plan (deux dimensions : largeur et longueur), chaque point a deux coordonnées. C'est un peu comme si tu disais : "En partant de l'origine tu dois avancer de tant vers la droite puis de tant vers le haut).
Ces coordonnées sont appelées abscisses pour l'axe horizontal et ordonnées pour l'axe vertical. Etant donné sa nature, l'origine est donc aux coordonnées (0;0). Si tu veux atteindre le point A de coordonnées (1;2), il te faudra avancer de 1 sur l'axe des abscisses et de 2 sur l'axe des ordonnées, ok ? (relis bien cette partie si tu ne l'as pas comprise)
Maintenant, parlons d'orientation. Généralement, le plan est orienté comme ça :
Y
|
|___ X
O
Le point O, c'est l'origine. Si tu préfères, cela consiste à mettre ton pouce de la main gauche perpendiculaire à ton index, paume vers l'extérieur. Les abscisses sont sur ton pouce, vers la droite tu as tous les nombres positifs et vers la gauche tous les nombres négatifs. Les ordonnées sont sur ton index, vers le haut ce sont les ordonnées positives, vers le bas les ordonnées négatives. Voilà comment on oriente ce qu'on appelle un "repère" de manière classique.
Maintenant, en SDL (et dans beaucoup d'autres cas de figures), le repère n'est pas orienté comme ça. L'axe des X (des abscisses) ne bouge pas, mais l'axe des Y (des ordonnées) est "renversé". Pour reprendre l'exemple de la main, c'est comme si en partant de la configuration de départ qui est |_ tu faisais une rotation de manière à avoir la paume vers ton visage (attention, c'est ton index qui doit tourner autour du pouce et pas l'inverse).
Ouf, on y arrive. Cela signifie qu'en SDL, l'origine du repère 2D dont tu te sers est situé en haut à gauche de ta fenêtre. Reprenons donc notre "image" de départ :
.----------.
|oooooooooo|
|oooooooooo|
|oooooooooo|
.----------.
Le point en haut à gauche, c'est (0;0), en haut à droite c'est (Xmax; Ymin) (tout dépend de la taille que tu as donné à ta fenêtre), en bas à gauche c'est (Ymax; Xmin) et en bas à droite c'est... allez cherche un peu c'est pas bien compliqué ^^
Et tout les ooooo... sont les différents points de ton repère (de ta fenêtre si tu préfères).
Maintenant, suppose que tu blittes ("colles") une image sur cette fenêtre, cette image va avoir un certain nombre de points, par exemple si elle est de dimensions 32*32 elle aura 32 * 32 = 1024 points. Mais évidemment, dans un programme, tu ne peux pas faire des tests pour chacun des points, ce sera absolument idiot et contre productif. Quelle est l'idée alors ? C'est tout simplement de s'intéresser à 4 points "extrêmes", c'est-à-dire ceux qui définissent les extrêmités de ton image : en haut à gauche, en haut à droite, en bas à gauche et en bas à droite..
Bon... trace un repère.
Si tu ne sais pas faire, tu n'as qu'à tracer deux droites perpendiculaires. Leur point de rencontre est l'origine. Prends comme unité le carreau (c'est-à-dire que le point de coordonnées (2;0) sera éloigné de l'origine de deux carreaux vers la droite). Et trace un carré quelque part sur ce repère. Repère les 4 points extrêmes et leurs coordonnées.
Maintenant, je vais te demander de réfléchir, quelle doit être la condition pour qu'un point pris au hasard dans le répère se situe dans le carré ?
Si avec ça tu comprends pas je me pends 