Chargement des images en SDL

janvier 2010 modifié dans Xcode et Developer Tools #1
Bonjour à  tous,

Bon pour commencer je vais me présenter rapidement.
Je m'appelle BEAUCORAL Kévin je répond au pseudonyme de biscuit- et je suis actuellement en première année de DUT Informatique, j'apprend donc les bases du c++ (j'ai quand même poussé plus loin que les bases) et j'ai appris grâce à  certains sites très complet la programmation avec SDL. Une programmation 2D donc très pratique et très facile d'utilisation (bibliothèque programmer en C).

J'ai réussi à  faire un jeu de Sokoban, seulement il y a un problème que j'ai rencontré, pourquoi dois-je mettre les images, que j'utilise dans le programme, dans le même dossier que le fichier .app. Pourquoi ces images ne ce mette pas dans le dossier ressource du .app ou encore dans le .app tout simplement ?

Merci d'avance de votre aide.

Amicalement BEAUCORAL Kévin.

Réponses

  • tabliertablier Membre
    16:16 modifié #2
      ??? je ne suis pas sur que ce post soit dans la section adéquate.
    Néanmoins bienvenue Kévin.
  • 16:16 modifié #3
    En effet il n'est peut être pas dans la bonne partie des forums, mais ou le mettre dans ce cas là  ?
  • CeetixCeetix Membre
    16:16 modifié #4
    Bienvenue biscuit- Kevin ^^.

    Comment fais-tu appel à  tes images dans ton code?
  • 16:16 modifié #5
    IMG_Load("mon_image.png"); par exemple.

    Désolé du retard :(
  • 16:16 modifié #6
    Bon alors voila je tiens à  annoncer qu'en cherchant un peut j'ai réussi à  trouvé, c'était simplement de la logique.

    En fait lorsque j'appelle mes images, il faut en effet mettre pas seulement le titre de l'image, mais aussi son chemin, ce qui est logique, mais je pensais que le compilateur le ferais en fait pour être franc lol.
    Comme ceci donc :

    Code SDL a écrit:
    IMG_Load("NomDelApp.app/Contents/Resources");
    // Si par exemple lorsque je rajoute les images au projet je les mets dans le dossier Resources.


    Voilà  par contre je dois avoué que j'ai un petit soucie, ça serait pas mal de pouvoir automatiser tout ça.
    Et bon vu que dans le IMG_Load il faut mettre une chaà®ne de caractère donc entre guillemet comment je fais pour intégrer à  cette chaà®ne une variable string qui se mettrait avant ?
  • AliGatorAliGator Membre, Modérateur
    janvier 2010 modifié #7
    Bah tu demandes au bundle le path vers la ressource, comme on fait normalement en Objective-C pour charger des images ou autres ressources.

    NSString* path = [[NSBundle mainBundle] pathForResource:@&quot;monImage&quot; ofType:@&quot;png&quot;];<br />IMG_Load([path cStringUsingEncoding:NSUTF8StringEncoding]);
    


    Comme ça en plus ça va chercher ta ressource (ton image) exactement au bon endroit (soit dans Contents/Resources si c'est là -dedans, soit dans un sous-dossier de localisation si tu as localisé ton image pour en faire une version différente pour la version française, anglaise, etc., bref ça prend en compte toutes ces subtilités)


    PS : J'ai toujours pas compris pourquoi tu as mis ce titre à  ton sujet (ce qui ne va pas aider pour ceux qui feraient une recherche s'ils ont un problème similaire au tien). Ton problème était dans les chemins d'accès aux images (ou les emplacements où les mettre pour réussir à  les charger), et dans le chargement des images dans SDL... Quel rapport avec la compilation de SDL_Image ? C'était pas un pb de compilation de la lib SDL, t'as pas eu d'erreur de compil, donc...? Si tu pouvais éditer ton premier message pour ajuster le titre stp.
  • 16:16 modifié #8
    Ouep je viens de changer le nom de mon premier message ;)

    Donc euh, je n'ai pas encore commencer à  me penché sur l'Objectif-C et d'ailleurs je compte le faire aujourd'hui grâce à  quelques aides sur le net ou autre (d'ailleurs si vous avez des tutorials bien complet pour ça, avec des genres de TP expliqué à  faire et corrigé etc, je prend :) ), donc je comprend pas tout ceux que tu m'as mis comment je l'utilise etc, j'aimerais donc bien s'il te plais tu m'expliques un peut tout ça ;) .

    Bon sinon merci beaucoup pour ton aide.
  • AliGatorAliGator Membre, Modérateur
    16:16 modifié #9
    Heu y'a pas grand chose à  expliquer... A moins de te faire un cours sur l'Objective-C, ce qui n'est pas mon but (et en plus je n'ai pas le temps :P). Donc je t'invite à  faire quelques tutos ou trouver un cours.

    Le code que je t'ai mis ici n'est vraiment rien de compliqué, il se contente d'appeler une méthode Objective-C, avec 2 paramètres, pour récupérer le chemin de ta ressource / ton image. Ensuite il appelle une autre méthode pour convertir cette chaà®ne Objective-C (classe NSString) en chaà®ne C (char*) puisque c'est avec ça que travaille ta fonction SDL. Les appels de méthodes Objective-C mis ici sont tout ce qu'il y a de plus standard, la première chose que tu vois limite quand tu apprends l'OC, donc tu vas (devoir) vite t'y faire :P
  • 16:16 modifié #10
    Ok merci pour ton aide, c'est très apprécier ;)
Connectez-vous ou Inscrivez-vous pour répondre.