> Tous les forums > Forum Autres langages
 [SDL] Gestion des événements ne marche pas
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
lucas-84
  Posté le 11/11/2010 @ 10:45 
Aller en bas de la page 
Nouvel astucien

Bonjour à tous,

J'ai un problème d'une simplicité effarante mais assez embêtant :

Avec ce code tout simple :


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

void pause();

int main(int argc, char *argv[])
{
int continuer = 1;

SDL_Surface *ecran = NULL;
SDL_Event event;

SDL_Init(SDL_INIT_VIDEO);


ecran = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE);
SDL_WM_SetCaption("Chargement d'événements en SDL", NULL);

SDL_Flip(ecran);

while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
break;
case SDL_KEYDOWN:
switch (event.key.keysym.sym)
{
case SDLK_ESCAPE: /* Appui sur la touche Echap, on arrête le programme */
continuer = 0;
break;
default:break;
}
break;
default:break;
}
}





pause();

SDL_Quit();

return EXIT_SUCCESS;
}

void pause()
{
int continuer = 1;
SDL_Event event;

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





Lorsque je compile, pas de problème.
Mais je n'arrive pas à arrêter le programme : j'ai beau appuyer sur ECHAP 40 fois, aucun résultat.
Et ça me fait ça avec toutes les touches, quel que soit le nom de la touche que je met dans mon code ; et que ce soit en mode Debug ou Release.


Voilà, en espérant avoir été clair et que je ne suis pas le trois cent cinquantième sujet posant ce problème,

Merci d'avance,

Signé : Moi :p

Publicité
Razor92i
 Posté le 26/12/2010 à 16:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Salut ,

Si tu n'as toujours pas eu de réponse, alors la voici :p :

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

void pause();

int main(int argc, char *argv[])
{
int continuer = 1;

SDL_Surface *ecran = NULL;
SDL_Event event;

SDL_Init(SDL_INIT_VIDEO);


ecran = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE);
SDL_WM_SetCaption("Chargement d'événements en SDL", NULL);

SDL_Flip(ecran);

while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
break;
case SDL_KEYDOWN:
switch (event.key.keysym.sym)
{
case SDLK_ESCAPE: /* Appui sur la touche Echap, on arrête le programme */
continuer = 0;
break;
default:break;
}
break;
default:break;
}
}






pause();


SDL_Quit();

return EXIT_SUCCESS;
}

Sur la ligne "pause();", tu appelles ta fonction "pause" dont tu sort uniquement en appuyat sur la petite croix rouge pour fermer la fenêtre xD
Donc maintenant, je te propose de retirer ta fonction "pause" de ton "main" (t'en as plus besoin de ta fonction pause ).

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
GratuitJeu PC Star Wars Battlefront II gratuit
Valable jusqu'au 21 Janvier

Epic Game Store offre actuellement le jeu PC Star Wars Battlefront II. Mettez votre maîtrise du blaster, du sabre laser et de la Force à l'épreuve dans des batailles en ligne ou hors ligne dans STAR WARS™ Battlefront™ II: Celebration Edition. PEGI 16. Jeu en français.

Pour télécharger le jeu, connectez-vous sur votre compte Epic Game Store (créez-en un gratuitement si vous n'en n'avez pas) et cliquez sur le bouton Obtenir sur la fiche du jeu. Le jeu sera ajouté définitivement à votre bibliothèque et vous pourrez le télécharger ensuite quand vous voudrez. 


> Voir l'offre
45,99 €SSD Crucial BX500 480 Go à 45,99 €
Valable jusqu'au 18 Janvier

Amazon propose actuellement le SSD Crucial BX500 480 Go à 45,99 € livré gratuitement alors qu'on le trouve ailleurs à plus de 60 €. Ce SSD offre des débits de 540 Mo/s en lecture et 500 Mo/s en écriture. Le SSD est accompagné du logiciel Acronis true image qui vous permettra de transférer tout le contenu de votre ancien disque dur sur le SSD. Il est garanti 3 ans. 


> Voir l'offre
113,67 €SSD externe USB 3.1 PNY Elite CS1050 960 Go à 113,67 €
Valable jusqu'au 18 Janvier

Amazon fait une promotion sur le SSD externe USB 3.1 PNY Elite CS1050 960 Go qui passe à 113,67 € livré gratuitement alors qu'on le trouve ailleurs à partir de 130 €. Ce SSD externe ultra compact (5,99 x 3,56 x 0,89 cm, 50 grammes) offre des vitesses allant jusqu'à 420 Mo/s en lecture et en écriture.


> Voir l'offre

Sujets relatifs
difficulté de gestion alternée de deux formulaires
Interception d'évènements
[QT] Navigateur Internet : Gestion Favoris
Problème de gestion dynamique de JCheckbox
creer un programme qui permet la gestion d'un cybe
Help mon autorun ne marche pas !!!
programme gestion menu scolaire
Gestion d'une BD: langage conseillé?
Gestion des utilisaterus connectés ?
code qui ne marche pas en C ansi
Plus de sujets relatifs à [SDL] Gestion des événements ne marche pas
 > Tous les forums > Forum Autres langages