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
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|