oui oui ^^ c'est vrai que je n'ai pas de "pression comerciale" tu en as toi ?
^^
étant mineur je ne pourrais pas en avoir car je crois que les permis de ventes sont réservé aux majeurs^^
Je relis et relis les cours pour que ça rentre bien dans le cerveaux ^^
je crois avoir rouvé un moyen pour les bouttons :
dans un cours (un TP) il nous parle des "tableau à double entrée"
je met les coordonées x dans la première et les coordonées y dans la 2ème et voilà ... Bon je sait pas encore si sa va marcher mais bon ... Je peux toujours essayer ça . Au boulot !
Ratha je pense que tu te fourvoies grandement, les tableaux à double entrée ne sont pas nécessaires du totu pour les boutons, il suffit de créer une classe ( si C++ ) ou structure ( si C )"bouton" et d'y mettre les coordonnées xmin,xmax,ymin et ymax. Je t'expliques ça en image, j'espère que tu comprendras.
http://img503.imageshack..us/img503/1027/exempleym1.png
une structure ... RAAAAH ZUT ALORS ! Je n'y avait pas pensé je pensait a tous sauf à ça en fait ^^
merci du conseil mais je m'en veux de pas l'avoir trouvé tout seul . ![]()
Hum...
Je ne comprends pas trop ton idée là ^^
xmin,xmax,ymin et ymax
quand la souris va cliquer, il ne se passera rien sauf si je clique la dessu ...
quoi que ...
si les 4 condition sonr réunies ...
je comprend pas trop la désolé ^^
Non mais je te parle d'un truc du genre
si souris_x < xmax et > xmin et souris_y < ymax et > ymin alors il clique sur le bouton.
tu fais un rectangle avec ces 4 points.... et à toi de faire un algo pour vérifier que le clique est dans ce rectangle...
Faut vraiment, mais alors vraiment que tu relises le cours depuis le début Ratha...
________________________________________
Ma vidéo du moment :
http://www.youtube.com/watch?v=MLLSnteyXl0
Escusez-moi si je me répète mais:
dans le cours du SDZ, il n'y a aucune explication sur l'algorithme, j'ai regardé sur google, j'ai demandé à un programmeur, à mon prof de techno, à ma prof de math dont le mari est programmeurs et devinez quoi:
ils m'ont tous donné une version diférente ![]()
je vais essayer un truc dans mes codes: mettre une image animée, alors je voulais savoir, si j'intègre un image animée au format .gif dans un fenêtre, sera-t-elle animée dans la fenêtre .
Je vais essayer après avoir télécharger SDL_image mais je pense que cela devrait marcher .
ça ne fonctionnera pas. SDL_image ne gère pas les gif animés.
de plus, j'ai ouïe dire que SDL_image charge les images en DRAM...
donc si tu as besoin de charger 300 images, essaie plutot SDL_LoadBMP()
"ils m'ont tous donné une version diférente"
C'est ça qui est génial avec la programmation, il n'y a pas qu'un chemin à suivre.
"dans le cours du SDZ, il n'y a aucune explication sur l'algorithme"
Ils ne vont pas mettre tous les algorithmes existants sur le site ...
Enfin moi je te dis essaies comme je t'ai dit ( naruto ) et après tu nous diras quoi.
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 ![]()
En passant, il serait bien de placer ces discussions dans un topic approprié. On ne trouvera pas les questions soulevé dans ce topic lors d'une recherche sur le forum.
Là, on est effectivement en train de monter un sorte de tuto pour les débutants comme moi ^^
Ne te pends pas : J'ai compris ^^
Dans ma structure, j'indique (Xmin;Ymin),(Xmax;Ymax),(Xmin;Ymax),(Xmax;Ymin)
et je met ces coordonées au moments du clik de la souris et normalement , si il clik à l'interieur, ça devrait marcher .
Je me disait aussi que mettre un image animé en gif ça aurait été trop facile
:'( donc maintenant il faut donc que j'érive une fonction qui anime l'image: qui passe toute les 30 ms à l'image suivantes d'un tableau qui contient toute les images de mon animation...J'imagine que ça ne dois pas être trop compliqué !
Et ben non t'as rien compris.
:sepend:
________________________________________
Ma vidéo du moment :
http://youtube.com/watch?v=96Fm5SPsjD0 (Les Kiss Kool, à voir absolument
)
"Suicide par défénestration : encore une victime de Qt
"
Ou plutôt tu n'as pas "entièrement" compris.
Dans ta structure tu as besoin de quatre variables Xmin, Ymin, Xmax et Ymax, pas des points (enfin tu peux mais bon ça sert à rien. Si c'est ça que tu avais pensé, excuse-moi ^^
________________________________________
Ma vidéo du moment :
http://youtube.com/watch?v=96Fm5SPsjD0 (Les Kiss Kool, à voir absolument
)
"Suicide par défénestration : encore une victime de Qt
"
c'est à ça que j'avais pensé . Désolé ^^
merci de faire des topics séparé avec des titres appropriés pour que l'on puisse s'y retrouver facilement.
lock