SDL, modifier un pointeur de surface

Résolu/Fermé
Noha819 Messages postés 74 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 19 octobre 2023 - 24 mars 2010 à 21:36
Noha819 Messages postés 74 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 19 octobre 2023 - 19 oct. 2023 à 20:00
Bonjour!!!

Vila mon probleme: J'ai créé un code qui trouve la position des icones du bureau Windows, et les redessine sur une surface SDL (un tableau de surfaces) sur un font bleu.
Le code marche nikel, a la fin mon tableau de surface est plein d'icones découpée, parfait.

Seuleument maintenant que j'ai fait la fonction, j'aimerai pouvoir l'integrer a mon code principal, mais quand j'appelle ma fonction en lui envoyant mon tableau de surface, mon compilateur m'engueul comme koi je ne peut pas dessiner sur un pointeur de surface.

J'ai alors essayer de contourner et de lancer ma fontion une fois par surface afin quelle puise retourner mes surfaces, mais le return ne fonctionne pas non plus!!

Et j'ai aussi essayer d'envoyer une surface et non un tableau de surfaces mais le probleme reste le même!!!

A present ma derniere idée est ke ma fonction écrive la position des icones dans un txt et que ma fonction main se charge du découpage, pour ne pas avoir a manipuler les surfaces.

Mais honnetement c'est vraiment pas propre comme codage! Alors si quelqun a un peu de lumiere a m'apporter... C'est volontier!!!

En clair ma question: Comment modifier une surface SDL du Main dans une fonction?


A voir également:

2 réponses

je suis pas experts et je déterre un vieux dossier mais si ca arrive à certain qui passe par là...

Est ce que tu as bien fais gaffe à mettre la petite * devant le nom de ta fonction?

Bien que je ne pense pas qu'il y aura t réponse, je m'explique (car ca viens juste de m'arriver ^^). Je met ma fonction comme elle est dans mon programme:

SDL_Surface *LoadBMP(char *fichier_image)//ici j'avais pas mis * à LoadBMP
{

SDL_Surface* image_result;

SDL_Surface* image_ram = SDL_LoadBMP(fichier_image);

/*verification du chargement de l'image*/
if (!image_ram)
{
printf("Image %s introuvable !! \n",fichier_image);
exit(EXIT_FAILURE);
}
/*copie de l'image*/
image_result = SDL_DisplayFormat(image_ram);

/* libération de l'image temporaire.
SDL_FreeSurface(image_ram);

/*renvoie le résultat (ici l'image)*/
return image_result; //Donc pour que ca marche, tu as du la mettre ici(return *image_result)

Enfin, je pense que c'est le problème vu ce que tu écris:
"...mon compilateur m'engueule comme koi je ne peut pas dessiner sur un pointeur de surface."

}
1
Noha819 Messages postés 74 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 19 octobre 2023 14
19 oct. 2023 à 20:00

Salut,

Conversation intemporelle mais merci pour ta réponse, je me rend compte en relisant tout ceci à quel point je débutait :p Mais oui je me rappelle que je comprenais rien aux pointeurs à leur utilité et utilisation ^^

0
Noha819 Messages postés 74 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 19 octobre 2023 14
25 mars 2010 à 22:01
Bouhou personne sait modifier un pointeur de surface?
0