begin process at 2012 05 29 17:21:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Probleme de gestion des axes avec la SDL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme de gestion des axes avec la SDL

jeudi 30 juillet 2009 à 23:02:25 | Probleme de gestion des axes avec la SDL

Noha819

Voila j'ai commencer a écrire un code pour controler ma souris ainsi que le clic G/D la touche entrer, echap ect... avec ma manette Xbox 360 en C.
Sauf que je butte au passage "diriger la souris avec l'axe". Quand je bouge mon stick pour déplacer la souris, elle ne se déplace que de 1pixel. il faut que je bouge tout le temps l'axe et c assez lourd!!! Jai donc essayé de faire un while par exemple:
while(event.jaxis.value < -3200)
SetCursorPos(CursorPos_x--, CursorPos_y);

Mais alors la quand je bouge le stick du coté de mon while le curseur fonce au bord de l'écran et y reste blocké!!! Comme si on ne sortait jamais de la boucle, meme en lachant le stick!
Et donc voila je reste blocke si vous pouviez m'aider sa serai super cool!!!

Voici le code (Sans le while que jai cité au dessu)

Code C/C++ :

---------------------------------------------------------------------------------------------
#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
#include <windows.h>

int main(int argc, char *argv[])
{
int continuer=1, tempsPrecedent = 0, tempsActuel = 0, CursorPos_x = 512, CursorPos_y = 300, stick = 1;
SDL_Event event;
SDL_Delay(1);

SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK);
SDL_Joystick *joystick = NULL;

SDL_JoystickEventState(SDL_ENABLE);
joystick = SDL_JoystickOpen(0);

SetCursorPos(CursorPos_x, CursorPos_y);

SDL_EnableKeyRepeat(10, 10);

while(continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
break;

case SDL_JOYBUTTONDOWN:
if (event.jbutton.button == 0)
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);

if (event.jbutton.button == 1)
mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);

break;

case SDL_JOYBUTTONUP:
if (event.jbutton.button == 0)
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

if (event.jbutton.button == 1)
mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);

break;

case SDL_JOYAXISMOTION:

if (event.jaxis.axis == 0 && event.jaxis.value < -3200) /* Vers la gauche */
{

SetCursorPos(CursorPos_x--, CursorPos_y);

}

else if (event.jaxis.axis == 0 && event.jaxis.value > 3200) /* Vers la droite */
{

SetCursorPos(CursorPos_x++, CursorPos_y);
}

else if (event.jaxis.axis == 1 && event.jaxis.value < -3200) /* Vers le haut */
{

SetCursorPos(CursorPos_x, CursorPos_y--);
}

else if (event.jaxis.axis == 1 && event.jaxis.value > 3200) /* Vers le bas */
{
SetCursorPos(CursorPos_x, CursorPos_y++);
}

}
break;

}
}
SDL_JoystickClose(joystick);
}
---------------------------------------------------------------------------------------

Je suis sous codeblocks

jeudi 30 juillet 2009 à 23:07:20 | Re : Probleme de gestion des axes avec la SDL

Noha819

Wouups! juste avant le break; il y a un } en trop! erreur de ma part le du post! Le probleme ne vient pas de la!



Cette discussion est classée dans : sdl, event, cursorpos, if, jaxis


Répondre à ce message

Sujets en rapport avec ce message

gestion evenement en sdl [ par jilou2008 ] bonjour j ai creer un petit programme en c++ avec sdl , j utilise le joystick pour deplacer une image sur l ecran et la coller ensuite seulement pour Programme Trop Lent [ par Lemng ] Bonjour tout le monde,voici mon problème : j'utilise la SDL pour programmer un jeu se jouant a l'aide du clavier et de la souris de la manière suivant Probleme morpion en SDL c++ [ par juju116 ] Salut tout le monde! j'expose donc mon souci pour l'instant mon programme affiche une image en fond d'ecran et bizarement cette image est bien chargé Probleme avec la librairie sdl et code::blocks [ par BencoAndCo ] Bonjour, J'ai un problème avec la lib sdl et code::blocks quand je compile le prog suivant : #include #include #include int main(int argc, ch SDL conditions affichage image [ par MattCand ] Bonjour à tous, je suis débutant je cherche un code SDL qui, pour un paramètre donné, va afficher la bonne image. Je me suis basé sur le code SDL de b Problème d'écran bleu lors de l'éxécution de mon programme [ par HarlockLeFleau ] Bon, alors, en fait j'ai un petit problème: Voyez-vous je me suis récemment lancé dans la programmation pour openGL sous Windows. Alors je code sous N Rotation de forme [ par boubz013 ] Bonsoir, je suis débutant et fasciné en opengl, mais je m'oppose à un probléme, en faite j'essaie de faire tourner mes forme geometrique à l'aide des Problème sur un programme en cours [ par LyoNell ] Bonjour tout le monde !! Je suis en Terminal S-Si ET notre professeur d'éléctronique nous à donnez un travail à faire pendant le week-end. Il a pris u petit probleme SDL [ par DarthKhaos ] Bonjour, voila j'ai un petit souci, j'ai un projet ou je dois faire bouger un bras robotisé aprés plusieur test sa marche a merveille, en selectionnan Tetris game [ par hindou11 ] Bonjour, je viens de me lancer dans la SDL, mais il se trouve que je plante un peu......je suis entrain de programmer le jeu du tetris mais je m'emb


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,919 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales