Problème affichage image SDL

Fermé
erasmus425 Messages postés 68 Date d'inscription vendredi 28 octobre 2011 Statut Membre Dernière intervention 7 décembre 2014 - 3 févr. 2014 à 14:58
erasmus425 Messages postés 68 Date d'inscription vendredi 28 octobre 2011 Statut Membre Dernière intervention 7 décembre 2014 - 4 févr. 2014 à 04:03
Bonjour, j'ai un petit soucis (sûrement d'architecture de mon code) : je souhaiterais afficher une image environ 2sec sans pour autant bloquer le reste du programme (donc le SDL_Delay on oublie).

Là où j'en suis : :
j'ai utilisé le SDL_GetTicks () accompagné d'une petite soustraction afin de vérifier à chaque passage dans ma boucle (qui englobe tout le programme) : si 2 secondes se sont écoulées, ça affiche l'image, sinon ça passe le if.

Le problème : A la fin de ma boucle "j'efface l'écran" (je le re-blit pour effacer tout ce que je ne veux pas), or cela efface aussi l'image que je veux laisser. Cependant, vu que la condition est vérifiée pendant deux secondes, l'image se ré-affiche (donc ce que je voulais à la base, je l'ai :D )
Là où ça cloche c'est que l'image scintille (vu que je l'affiche, je l'efface, je l'affiche, je l'efface et ainsi de suite)

Quelqu'un aurait-il une solution pour éviter ce scintillement ?
A voir également:

2 réponses

erasmus425 Messages postés 68 Date d'inscription vendredi 28 octobre 2011 Statut Membre Dernière intervention 7 décembre 2014 7
Modifié par pijaku le 4/02/2014 à 11:55
Merci de la réponse
Voici le bout de code qui pose problème :

while(!in.key[SDLK_ESCAPE])    tant qu'echap relaché
{
[...] deplacements

tempsActuel = SDL_GetTicks ();
if(in.key[SDLK_SPACE]) appuie sur espace
tempsInitial = tempsActuel;

if (tempsActuel - tempsInitial < TEMPS_TIR)
SDL_BlitSurface (tir, NULL, ecran, &posTir);



SDL_FillRect (ecran, NULL, SDL_MapRGB(ecran->format, 20, 50, 120));
SDL_BlitSurface (carre, NULL, ecran, &posCarre);
SDL_BlitSurface (Joueur, NULL, ecran, &posJoueur);
SDL_Flip(ecran);
}
1
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
3 févr. 2014 à 23:47
Bonsoir j'ai l'habitude de voir un code source (car c'est lui qui sais causer) sans bout de code ont ne pas t'aider
0