Y a t il des francais?

Bonjour,

Je d?bute avec SDL et je n’arrive pas ? animer une image :

- je voudrais r?cup?rer le fond avant affichage, afficher l'image et

restaurer le fond comment faire ???

S’il y a un mec sympa qui pourrais me filer un petit coup de main,
j’avancerais un peux plus vite !!! ;o)

Merci d’avance

c?dric

delrue at free.fr

“DELRUE C?dric” <cedric.delrue at gedas-france.com> wrote:

  • je voudrais r?cup?rer le fond avant affichage, afficher l’image et
    restaurer le fond comment faire ???

You can copy the background from the screen with BlitSurface, but most of
the time you already have the background somewhere else (probably because
you did painted it in the first place) so it’s easier just to repaint
the background in these cases.

SDL_Rect bougerSuivantUnVecteur (SDL_Surface *source, SDL_Surface *ombre,
SDL_Surface *dest, SDL_Rect *objet, short int
deplaceHaut,short int deplaceHorizon)
{

/* On fait bouget l’objet selon un vecteur ( deplaceHorizon,deplaceHaut)*/

new_place.x = (objet->x)+deplaceHorizon;
new_place.y = (objet->y)+deplaceHaut ;
new_place.w = source->w;
new_place.h = source->h;

SDL_BlitSurface (ombre, NULL, dest, objet);
SDL_BlitSurface (dest, &new_place ,ombre,NULL ); //ombre retrouve son
dessous !
SDL_BlitSurface (source, NULL, dest, &new_place);
SDL_UpdateRects (dest, 1,objet);
SDL_UpdateRects(dest, 1, &new_place);

return(new_place);

}
// source est ton image que tu veux afficher
//ombre est le dessous que tu sauvegarde, ? l’initialisation g?n?rale fait
bien attention d’initialiser cette surface,
//prends exemple sur la fonction (un simple Blit surface ? partir de
ton SDL_Surface screen.

//? chaque d?placement de ( deplaceHorizon,deplaceHaut), ombre est replac?
? l’ancienne place de ton image,
// puis r?cup?re le fond o? tu vas mettre ta nouvelle image, puis l’image
est plac? ? cette exacte place.

Appel de ta fonction :
*ancienNewPlace= bougerSuivantUnVecteur
(imageQueTuVeuxAfficher,ombreQuiSauvegarde,
screen,
ancienNewPlace,deplaceHaut, deplaceHorizon);

Comme tu le vois tu donne le ancienNewPlace, et tu en r?cup?re un nouveau,
que tu devra donner ? l’affichage suivant.

Rappel des d?clarations:

SDL_Rect * ancienNewPlace;
SDL_Surface *imageQueTuVeuxAfficher ,*ombreQuiSauvegarde,*screen;
short int deplaceHaut, deplaceHorizon;

Toutes ces variables doivent ?tre initialis?es, et avoir donn?es

utilisables.

Bon amusement.

 bille2.

“DELRUE C?dric” <cedric.delrue at gedas-france.com> a ?crit dans le message
news: a38jfs$6m3$1 at ftp.lokigames.com…> Bonjour,

Je d?bute avec SDL et je n’arrive pas ? animer une image :

- je voudrais r?cup?rer le fond avant affichage, afficher l'image et

restaurer le fond comment faire ???

S’il y a un mec sympa qui pourrais me filer un petit coup de main,
j’avancerais un peux plus vite !!! ;o)

Merci d’avance

c?dric

delrue at free.fr