Problème SDL : Récupérer la position d'une case d'un tableau (image) ? [Résolu]

Messages postés
70
Date d'inscription
mercredi 1 octobre 2008
Statut
Membre
Dernière intervention
17 avril 2013
- - Dernière réponse : romain60112
Messages postés
70
Date d'inscription
mercredi 1 octobre 2008
Statut
Membre
Dernière intervention
17 avril 2013
- 4 mars 2010 à 12:25
SDL : Récupérer la position d'une case d'un tableau (image) ?
Bonjours a tous,

Je souhaite savoir comment récupérer de façon efficace les coordonnées d'un tableau (image).

J'ai déjà une solution qui repose sur la scrutation Colone par Colone et Ligne par Ligne, mais cette solution est trés longue si on a de nombreuse colone et ligne.
Voici l'exemple pour A1 :
void Event_Colone_A_Ligne_1 (void)
{
//Récupération de l'état de la souris
Uint8 MouseState;
int x, y;
MouseState = SDL_GetMouseState(&x, &y);
// A
if(event.motion.x > 27 && event.motion.x < 55)
{ // 1
if(event.motion.y > 18 && event.motion.y < 40)
{
if(MouseState & SDL_BUTTON(SDL_BUTTON_LEFT))
{ cout<<"A1"<<endl;
}
}
}
}

Ainsi de suite pour A1...A10 ... J1....J10.

Voici ma fenêtre SDL :

http://img695.imageshack.us/img695/8509/sdl.png

Ma question :

- Existe t-il une méthode moins lourde (saisi des coordonnées x, y) pour scruter mon tableau et savoir quand je suis en position B2 ect..

Merci de votre aide.

Cordialement
Romain
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
1055
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
9
3
Merci
Salut

Tu peux faire quelque chose comme cela:

//Récupération de l'état de la souris
Uint8 MouseState;
int x, y;
MouseState = SDL_GetMouseState(&x, &y);

for(i=0;i<NbCaseX;i++)
if(x > i*28&& x i*22&& y<i*22+22)
NumCaseY = i;

et tu as dans NumCaseX, NumCaseY la position de la case dans laquelle tu as cliqué.
A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 111 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Pistol_Pete
Messages postés
70
Date d'inscription
mercredi 1 octobre 2008
Statut
Membre
Dernière intervention
17 avril 2013
0
Merci
Merci beaucoup.
A bientôt
Romain
Commenter la réponse de romain60112

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.