CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Clic de la souris sdl/c++

N_Cortex
N_Cortex
Niveau 7
07 septembre 2005 à 14:43:06

Comment gérer la gestion des clics de souris avec la fonction updates events de JYY ?

En condition, j´ai fait ça :

if (boutons[SDL_MOUSEBUTTONDOWN])

Mais comme je m´y attendez, ça marche pas...

Il faut faire quoi ?

jejej
jejej
Niveau 9
07 septembre 2005 à 15:00:51

je ne connais pas la fonction de JYY , mais je fais comme ça :

SDL_Event event;

if( SDL_PollEvent(&event)
{
if( event.type == SDL_MOUSEBUTTONDOWN )
{
// clique sur la souris
}
}

jejej
jejej
Niveau 9
07 septembre 2005 à 15:03:35

apres , pour differencier clique droit / clique gauche , il faut faire ça :

if( event.type == SDL_MOUSEBUTTONDOWN )
{
// clique sur la souris :
if( event.button.button == SDL_MOUSEBUTTONRIGHT )
{
// clique droit
}
}

// remarque que je ne suis plus tres tres sur pour le event.button.button ... c´est peu etre autre chose

jejej
jejej
Niveau 9
07 septembre 2005 à 15:04:47

SDL_MOUSEBUTTONRIGHT = SDL_BUTTON_RIGHT en fait désolé

N_Cortex
N_Cortex
Niveau 7
07 septembre 2005 à 15:10:36

Non, pour le poll event,je connais déja, je parle des effets si on clique...

Pour l´instant, j´ai fait ça :
if (key[SDLK_RETURN] && start == 0) {sy4 = -1; sx4 = 1; start = 1;}
if (key[SDLK_ESCAPE]) break;
if (boutons[SDL_MOUSEBUTTONDOWN])
{
if (p.armed != 0)
{
switch(p.armed)
{
case 1:
missile.dirx = xsouris;
missile.in = true;
break;
}
}
}

Mais ça ne fait aucun effet quand je clique...

JeanYvesYves
JeanYvesYves
Niveau 10
07 septembre 2005 à 15:39:40

mes fonctions de la souris :

int Xmouse()
int Ymouse()
int Bmouse(int b)

Si tu utilises ma fonction UpdateEvents, ensuite, c´est simple : tu veux tester le bouton gauche ?

if (Bmouse(0))

pour le bouton droit :

if (Bmouse(1))

pour le bouton milieu :

if (Bmouse(2))

voila :)

JeanYvesYves
JeanYvesYves
Niveau 10
07 septembre 2005 à 15:41:10

regarde mon tuto §2.1.4 pour l´exemple...

N_Cortex
N_Cortex
Niveau 7
07 septembre 2005 à 15:42:29

Merci !! !

N_Cortex
N_Cortex
Niveau 7
07 septembre 2005 à 15:50:42

Argg

[Linker error] undefined reference to `Bmouse(int)´

Voici l´erreur kil me met kan je veux compiler...

JeanYvesYves
JeanYvesYves
Niveau 10
07 septembre 2005 à 15:55:28

repique ma fonction Bmouse :

int Bmouse(int b)
{
int res;
if (b<0 ||b>2)
return 0;
res=boutons[b+1];
return res;
}

N_Cortex
N_Cortex
Niveau 7
07 septembre 2005 à 15:58:40

Il compile, mais mon programme plante...

Enfin bon, ça ça doit venir de mon programme.

N_Cortex
N_Cortex
Niveau 7
10 septembre 2005 à 16:28:20

Bon, j´ai réglé tout les problèmes, mais l´histoire d ebmouse ne fonctionne pas...

if (Bmouse(2))
{
PrintSDL(font,screen,500,140,"ARMES");
if (p.armed != 0)
{
switch(p.armed)
{
case 1:
missile.dirx = xsouris;
missile.y = 580;
missile.in = true;
p.armed = 0;
break;
}
}
}

Ca n´affiche pas de "ARMES"

Vengeur41
Vengeur41
Niveau 10
10 septembre 2005 à 16:30:19

Si ca l´affiche, mais ca l´affiche très peu de temps (quelques dixièmes)...

N_Cortex
N_Cortex
Niveau 7
10 septembre 2005 à 16:45:55

Et bien si je le met dans la condition :

if (missile.in == true)
{
missile.x = missile.dirx;
missile.y -= 12;
}

Ca ne fonctionne pas non plus...

Au passage, plutot que de créer un nouveau sujet, je voudrais poser une question par rapport a printSDL de JYY... Comment afficher des variables int ?

PrintSDL(font,screen,500,140,"score : ",p.score);

p.score étant un int.

Vengeur41
Vengeur41
Niveau 10
10 septembre 2005 à 16:54:05

Met un printf pour vérifier ...

N_Cortex
N_Cortex
Niveau 7
10 septembre 2005 à 16:57:29

Comment fonctionne printf ?

N_Cortex
N_Cortex
Niveau 7
10 septembre 2005 à 17:02:16

Pour l´affichage des vairables c´est bon, j´ai réglé le problème...

Mais pour le clic de la souris...

Vengeur41
Vengeur41
Niveau 10
10 septembre 2005 à 17:07:59

printf... Voyons c´est la base de chez base ca !

N_Cortex
N_Cortex
Niveau 7
10 septembre 2005 à 17:08:45

J´ai jamais appris de printf... Je suis directement parti avec printsdl...

Mais de toute façon, ça changera quoi ?

N_Cortex
N_Cortex
Niveau 7
10 septembre 2005 à 18:43:25

J´ai essayé ça pour la souris :

if (boutons[1])

Mais ça marche pas...

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment