Votre question

[c++/SDL]Comment "déblitter" une surface

Tags :
  • Programmation
Dernière réponse : dans Programmation
24 Mars 2006 19:45:18

Bonjour , je voudrais savoir comment on peut "déblitter" une surface de l'ecran. Par exemple j'ai une surface nommée "message" qui contient du texte . Une fois que je l'ai blitter ,je change le texte de cette meme surface et je la blitte de nouveau . Le nouveau texte va etre superposé par dessus l'ancien . Donc il faut d'abbord que j'enleve une surface de l'ecran avant de la modifier et la bitter a nouveau . Comment fait on ?
Merci

Autres pages sur : sdl deblitter surface

a b L Programmation
24 Mars 2006 20:27:38

le flipping c'est la technique du double-buffering: tu n'affiche pas directement à l'écran, mais dans un buffer.
Pour effacer l'écran, tu mets un grand rectangle noir dans le buffer (SDL_FillRect(...)) puis, tu réaffiche le sprite dessus.
Si on faisait ça directement sur l'écran, on verrai un clignotement des sprites à cause de l'affichage du rectangle par dessus le sprite puis l'affichage du sprite sur le rectangle etc.
Avec le double buffering, tu n'affiches à l'écran que lorsque tu as finis de coller tous tes sprites (ou textes). Rien ne s'affiche entre l'affichage du rectangle et l'affichage du sprite. Résultat: ça ne clignote pas.

Voici un tutorial qui montre comment faire des sprites:
http://lazyfooproductions.com/SDL_tutorials/lesson06/preview.php

EDIT: désolé, j'ai mis blitting alors que c'est flipping. pour forcer l'affichage du buffer à l'écran, il y a SDL_Flip()
24 Mars 2006 20:30:53

Sa veux dire que si je veux effacer ma surface avec mon texte , je dois en creer une autre et la coller par dessus , puis encore une autre par dessus qui contient le nouveau texte c'est ca ?
Contenus similaires
24 Mars 2006 21:10:57

Merci , j'ai réussi . Et pendant que je suis la , comment peut on afficher une touche appuyée ?
Je te remercie pour tes tutos CRicky mais je suis faché avec l'anglais . ;-)
Merci
24 Mars 2006 21:36:33

C'est bon , j'y arrive . Merci beaucoup pour toutes tes reponses . :-D
24 Mars 2006 22:42:33

ca pourrait pas fonctionner si on mettait un SDL_free avant de changer le texte et apres tu recréé ta surface ? ca permettrait d'utiliser moins de mémoire et éviter les fuites non ?
a b L Programmation
24 Mars 2006 22:47:38

oui il vaut mieux réutiliser le même en faisant un free si c'est juste le texte qui change.
Et faire des free sur tous les textes restant à la fin de son utilisation.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS