Bonjour, je crée un programme assez simple mais mon image en bmp ne veut pas s'ouvrir avec la fonction SDL_LoadBMP. Pourriez vous y jeter un coup d'oeil car la ca doit faire 2 jours que je ne trouve rien...
Quelle erreur obtiens-tu ? Ou veux-tu dire que l'image ne s'affiche pas ce qui est normal puisque tu ne l'affiches pas. ? Si c'est le cas, alors il ne faut pas juste suivre un tutoriel, mais aussi bien le comprendre et faire ses propres codes (tu sembles suivre le tutoriel de ZdS vu le code que tu donnes, mais dans ce code, il n'y a rien pour afficher la texture, mais normalement tu sais le faire avec SDL_RenderCopy).
Le format de l'image est défini par IMG_Load() à partir des méta-données du fichier, un .BMP renommé en .PNG ou inversement sera quand-même ouvert correctement.
Il y a fort à parier que l'erreur ne soit pas autre que celle affichée. Essaie de mettre :
SDL_SetColorKey(tmp, SDL_FALSE, 0);
juste après avoir chargé ta surface. Cela va définir une colorkey bidon (0,0,0) et la désactiver (SDL_FALSE), mais au moins elle sera définie.
Sinon, utiliser IMG_LoadTexture() sera juste plus efficace, cela te garantie que la surface sera traitée comme il faut en interne avant d'être transformée en texture. Car oui, IMG_LoadTexture() passe également par une surface.
Merci a vous, j'ai decide de reprendre a 0 en utilisant juste les connaissances apprise et en essayant pas de modifier leur code et etrangement, ca marche tout de suite mieux quand on comprend ce que l'on fait
La paresse ne paie jamais, je vous envois le code que je viens de faire, il est largement optimisable alors si vous avez des conseils ou si vous voyez de grosses erreurs, n'hesiez pas a me le dire
Mais je ne vois pas trop la différence à part que c'est pire et que tu as changé d'image à charger.
Déjà, on ne charge JAMAIS une ressource dans la boucle principale d'un programme sauf si ça n'impacte pas l'exécution (selon le type de soft)... Mais surtout pas pour la charger et ne pas la libérer à chaque boucle.
Même si la boucle est inutile ici puisque quit est passé à la valeur vrai dans tous les cas, donc ça ne bouclera jamais.
Bonne continuation.
EDIT : Je n'ai rien dit, j'ai lu trop vite... Au temps pour moi.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Bonhomme !! | Jeu de plateforme : Prototype.
Bonhomme !! | Jeu de plateforme : Prototype.