The_Sin
Messages postés43Date d'inscriptionsamedi 25 septembre 2004StatutMembreDernière intervention 4 février 2006
-
3 déc. 2005 à 23:38
cs_beg0
Messages postés51Date d'inscriptionlundi 17 janvier 2005StatutMembreDernière intervention13 mars 2011
-
4 mai 2009 à 16:01
Salut, j'ai un problème en SDL en C :
J'ai déplacé ma boucle de gestion de mouvements dans une fonction de
perso.c et là ça marche plus, le problème viendrait-il d'une erreur
dans le code ? pourtant j'ai beaucoup cherché...
Tout se link et se compile parfaitement mais plus rien ne se passe à l'appuie sur les touches.
Voici mon code ( s'il y a du code en commentaire c'est que je l'ai déplacé
pour faire des tests, je l'ai coloré volontairement en bleu foncé ) .
Main.c :
<sub>
</sub><sub>#include <stdlib.h>
#include <SDL/SDL.h>
#include "main.h"
SDL_Surface *sEcran, *sVaisseau ;
SDL_Event event ;</sub><sub>
</sub><sub>void M_Quit() { ... }
void M_Init() { ... }
int main(int argc, char argv[])
{
M_Init() ;
//Variables et initialisation
SDL_Rect Rect_Vaisseau ; //Données sur le Vaisseau
coord(&Rect_Vaisseau) ; //Position de départ du Vaisseau
struct clavier Mouv_Vaisseau ; //mouvements du Vaisseau
Mouv_Vaisseau.keyleft Mouv_Vaisseau.keyright 0 ; //Mise à zero des variables de mouvements
If <tt class= "backtick">event</tt> is not <tt class="backtick">NULL</tt>, the next event is removed from the queue and stored in the SDL_Event structure pointed to by <tt class ="backtick">event</tt>.
Il te faut supprimer le while(SDL_PoolEvent(&Event)) dans eventmouv(), et dans ta boucle principale d'evenement (celle qu'il y a dans le main), passer la variable 'event' a la fonction eventmouv();
suis-je clair ?