Bonjour à tous , j´ai un petit probleme avec la SDL :
je voudrais calculer puis afficher un cercle à l´ecran ( je veux dire , le cercle n´existe pas au lancement du programme , ce n´est pas un bmp , je calcule ses coordonnees dans le programme )
mais j´ai un probleme de " SDL_LockSurface() je crois , en fait , en lançant mon programme pour la premiere fois , je me suis rendu compte ( en utilisant cout<<"fonction machin appellee"; apres chaque fonction) que le programme plantait à ce niveau la :
cout<<"\n fonction Disque() appellee " ;
Slock(rect);
cout<<"\n surface rect lockee " ;
en effet , le message " surface lockée " n´apparait pas . ..
voici la fonction Slock(rect) :
void Slock(SDL_Surface *s)
{
SDL_LockSurface(s);
}
rect , c´est un argument que je passe a la fonction , en l´occurence , c´etait un
SDL_Surface *rectangle; , tout simple .
En fait , il faut lockee cette surface pour pouvoir ecrire des pixels dessus je crois , enfin voila une fonction d´ecriture que j´ai copie colle de quelque part , mais je crois qu´elle fonctionne :
/ / dessine un pixel sur une surface
void DPoint( SDL_Surface *rect , int x , int y , int R,int G , int B )
{
cout<<" fonction DPoint appelleé " ;
Uint32 couleur = SDL_MapRGB( rect->format , R,G,B ) ;
cout<<"couleur determinee " ;
SDL_Rect r;
r.x = x;
r.y = y;
r.w = 1;
r.h = 1;
SDL_FillRect( rect , & , couleur ) ;
}
ensuite , j´aurais juste eu a blitter " rectangle " sur " affichage " a chaque frame . .. je crois
vous voyez d´où peut venir le problème ? merci beaucoup si vous trouvez 