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
TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion
Forum
RE : WIN APIRE : WIN API par racpp
Cliquez pour lire la suite par racpp
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|