Accueil > Forum > > > > Gros soucis SDL ...... argh
Gros soucis SDL ...... argh
vendredi 2 décembre 2005 à 21:12:42 |
Gros soucis SDL ...... argh

courjete
|
Alors voila, je me met à la programmation en c++ et dans une volonté de
tester mes connaissances, préparer des fonctions d'affichage, je
cherche à faire un programme tout simple qui me permet de déplacer un
cadre sur un image. Je travaille sous SDL, mon programme réussit à
faire déplacer le cadre de gauche à droite et de haut en bas mais la
touche que j'ai configurer pour quitter ne fonctionne pas Ce qui est
plutot embetant ;-)
En fait n'importe quelle touche reproduit le comportement de ma touche
pour quitter (échap) et elle ne quitte pas, elle fait déplacer mon
cadre un peu aléatoirement et quitte après de nombreux déplacements.
Voici ma fonction :
int touchesdir () {
while (1) {
while (SDL_PollEvent(&event)) {
if (event.type == SDL_KEYDOWN) {
switch (event.key.keysym.sym) {
case SDLK_UP: m-=20;
posimod (m,n);
case SDLK_DOWN: m+=20;
posimod (m,n);
case SDLK_RIGHT: n+=20;
posimod (m,n);
case SDLK_LEFT: n-=20;
posimod (m,n);
case SDLK_ESCAPE: break;
}
return 0;
}
}
}
}
sachant que posimod est une fonction qui modifie la position de mon
cadre en relançant cette fonction (touchesdir)
après modification de la position.
Aidez moi s'il vous plait....  courjete
|
|
vendredi 2 décembre 2005 à 21:34:23 |
Re : Gros soucis SDL ...... argh

vecchio56
|
Tu n'aurais pas oublié quelques break par hasard?
Et ton case SDLK_ESCAPE: ne semble pas faire grand chose...
|
|
samedi 3 décembre 2005 à 23:59:40 |
Re : Gros soucis SDL ...... argh

The_Sin
|
Réponse acceptée !
Salut,
Quand tu quittes ta fonction et que tu reviens à main, tu as bien des
SDL_Quit ; ? ... parce que sinon c'est normal que ça ne quitte
pas correctement.
...
case SDLK_ESCAPE: Quit() ;
...
void Quit()
{
SDL_FreeSurface(sEcran) ;
SDL_FreeSurface(sTonCadre) ;
SDL_Quit() ;
exit(0) ;
}
voilà fait appel à une fonction qui s'occupe de tout quitter parce que
comme le dit vecchio56 ton SDLK_ESCAPE ne fait pas vraiment grand chose.
|
|
dimanche 4 décembre 2005 à 11:42:21 |
Re : Gros soucis SDL ...... argh

courjete
|
alors alors, je n'ai pas mis de break car comme je lançais une fonction
,je me suis dis que ça n'etai pas utile mais je vais essayer. Par
contre, pour ce qui est de mettre une fonction qui quitte la SDL
après SDL_ESCAPE, j'y ai pensé et je l'ai fais.... Gros probleme, ça
quitte la SDL, mais pas le programme .....lol
Donc c'ets pas top. Mais c'ets vrai que les break, j'y avais pas pensé, je pense que ça pourrai m'aider. merci
courjete
|
|
dimanche 4 décembre 2005 à 11:46:20 |
Re : Gros soucis SDL ...... argh

The_Sin
|
Re,
ça quitte la SDL, mais pas le programme ..... >>> comment ça 
t'as bien mis exit(0) ; ?
|
|
dimanche 4 décembre 2005 à 12:06:34 |
Re : Gros soucis SDL ...... argh

courjete
|
non, effectivement, j'ai jamais mis exit (0). Et ça fonctionne.
merci bocou, mon dernier souci est que n'importe quelle touche quitte
le programme à part les touches directionnelles. courjete
|
|
dimanche 4 décembre 2005 à 12:09:13 |
Re : Gros soucis SDL ...... argh

vecchio56
|
"alors alors, je n'ai pas mis de break car comme je lançais une fonction ,je me suis dis que ça n'etai pas utile"
Aucun rapport
|
|
dimanche 4 décembre 2005 à 12:20:08 |
Re : Gros soucis SDL ...... argh

courjete
|
ok, merci bien, par contre, j'avais bien SDL_Quit dans mon main,
j'avais pas vu la question, mais normalement ça devrait quitter sans la
jolie fonction Quit que m'a offert The_sin. Enfin bon ,ça fonctionne
mieu et ça n'ets qu'un essai de programme pour que je me familiarise
avec la SDL.
courjete
|
|
dimanche 4 décembre 2005 à 13:43:20 |
Re : Gros soucis SDL ...... argh

The_Sin
|
Tu fais directement exit() ; sans liberer les surfaces et quitter la
sdl ? Moi je te conseille dans tes progs sdl de faire un fonction
Init() et une autre Quit(), comme ça dès que tu as besoin de quitter tu
fais appel à Quit() ; .
Un exemple ( en C ) :
SDL_Surface *sEcran ;
void Quit()
{
SDL_FreeSurface(sEcran) ;
SDL_Quit() ;
exit(0) ;
}
void Init()
{
//Initialisation de SDL video et de l'écran
if(SDL_Init(SDL_INIT_VIDEO) > 0)
{ printf("Impossible d'initialiser SDL : %s\n", SDL_GetError()) ;
Quit() ;
}
if(!(sEcran = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE | SDL_DOUBLEBUF)))
{ printf("Impossible de paramétrer le mode video : %s\n", SDL_GetError()) ;
Quit() ;
}
}
voilà++
|
|
Cette discussion est classée dans : case, cadre, sdl, sdlk, posimod
Répondre à ce message
Sujets en rapport avec ce message
GESTION CLAVIER SDL [ par Batman60 ]
voici un bout de code qui sert à me déplacer dans une scène 3D opengl ,le problème c'est qu'il faut à chaque fois appuyer sur la touche pour ce dépla
utilisation de la souris pour un menu avec des cadres [ par MAF5582 ]
/*salutj'aimerais 1-integrer une souris pour ce menu (actionner la fonction correspondante en cliqaunt sur le cadre)Est ce que quelquin peut me fourni
Problème de gestion de clavier avec SDL [ par vincemail ]
Bonjour, j'utilise SDL pour gérer le clavier : les flèches directionnelles doivent déplacer un personnage à l'écran. Mon problème est qu'il faut relac
BUG SDL et CLAVIER ??? HELP! [ par broks ]
Voici Mon code, il est un peu lourd c normal je débute en SDL, mais des ke mon probleme sera resolu, j'allegerai tout ca bien sûr:#include #include #i
SDL porbleme [ par fahdovski ]
IL Y'A EXECUTION MAIS LE PC PLANTE IL DEVIENT TRES LENT, MAIS POURQUOI??????jE TRAVAILLE SUR CODE::BLOCKS SOUS LINUXAVANT CA MARCHAIS IMPEC QUESQUI C'
SDL [ par lushkah ]
bjr, j'ai un pb avec la SDL en C, je débutes et j'ai passer la nuit a essayer de faire une disparition en fondu, j'essayes de programmer un jeu de da
Configuration souris SDL [ par darkane78 ]
Bonjour,J'aimerais bien réalisé un jeu de dame, seulement je suis bloqué au niveau du configuration de la souris.Je voudrais pouvoir cliquer sur un pi
pour que mes touches soient détectées immédiatement [ par snake57 ]
Bonjour,j'ai un petit soucis avec la détection de touche. Je vous met le bout de code concerné plus bas pour que vous ayez une idée.Enfait je détecte
Deplacement de plusieurs sprites à l'écran (SDL) [ par rasolofomanana ]
Bonjour à tous, je débute en C et j'essaie de créer un programme où l'on peut déplacer plusieurs sprites à l'écran, par cases de 40px. Le problème es
Livres en rapport
|
Derniers Blogs
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|