2017-07-29 8 views
-1

Je développe un jeu avec la bibliothèque allegro. J'ai écrit un code C de démarrage puis je compile le programme sur Ubuntu Terminal.Après cela Lorsque j'ouvre le programme de sortie, le programme est ouvert mais pas fermé. Le bouton Annuler (X) ne fonctionne pas.Je ne peux pas me déconnecter du programme de sortie C

Voici mon code de démarrage:

#include <allegro.h> 

void Baslat(); 
void Bitir(); 

int main(){ 
     Baslat(); 
     while(!key[KEY_ESC]){ 

     } 
     Bitir(); 
     return 0; 
} 

END_OF_MAIN() 

void Baslat(){ 
     int depth,res; 
     allegro_init(); 
     depth = desktop_color_depth(); 
     if(depth == 0) depth=32; 
     set_color_depth(depth); 
     res=set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640,480,0,0); 
     if(res!=0){ 
       allegro_message("%s\n", allegro_error);     exit(-1); 
     } 
     install_timer(); 
     install_keyboard(); 
     install_mouse(); 

} 


void Bitir(){ 
    clear_keybuf(); 

} 
+1

Débogage résolu? Exécutez votre application dans le débogueur et appuyez sur Ctrl + C quand elle se bloque à la sortie. – arrowd

+0

J'ai répondu pour 'allegro5' sur la base du tag, mais il semblerait que vous utilisiez' allegro4'. Quelle version d'allegro vous intéresse? – rcorre

Répondre

0

Pour répondre à un utilisateur en appuyant sur le bouton X dans allegro5, vous devez attraper ALLEGRO_EVENT_DISPLAY_CLOSE. This tutorial fournit un exemple de réponse à cet événement.

+0

Oui, j'utilise allegro4 mais je n'arrive pas à comprendre votre réponse. Quelle version allégro dois-je utiliser? Existe-t-il un moyen de résoudre mon problème à allegro4? –

+0

Quelle version utiliser est une décision personnelle, mais j'utiliserais la version la plus récente sauf si vous avez une raison impérieuse d'utiliser une ancienne version. Je n'utilise pas 'allegro4' donc je ne sais pas comment résoudre votre problème. Si vous utilisez 'allegro5', le tutoriel que j'ai lié donne un exemple de code et une explication pour exactement ce que vous voulez. – rcorre