IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Empaqueter les images d'un projet [SDL 2.0]


Sujet :

SDL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 83
    Points : 56
    Points
    56
    Par défaut Empaqueter les images d'un projet
    Bonjour, je suis en train de faire un petit jeu et pour le partager j'aimerais empaqueter toutes les images en un seul fichier(sans compression) pour éviter qu'elles soient modifiables trop facilement. J'aimerais en quelque sorte faire un fichier qui contienne toutes les images PNG à la suite de sorte que je puisse accéder à chaque image en déplacent un curseur dans un flux ou quelque chose de similaire. J'ai entendu parler de SDL_RWops et IMG_Load_RW() mais je ne trouve pas de cas qui traite de mon problème. Si quelqu'un pouvait m'aider j'en serais reconnaissant, merci d'avance.

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 257
    Points : 321
    Points
    321
    Par défaut
    Bonjour,

    Voici un exemple ( Windows et SDL 1.2) d'une fonction qui retourne une surface à partir d'un fichier ressource (intégré à l'exécutable).
    Le hID est l'identifiant dans le fichier .rc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    SDL_Surface *Rsc2surf(LPCTSTR hID)  // retourne une surface à partir d'une ressource (.bmp)
    {
        SDL_Surface *surface;
        SDL_Surface *temp;
        HMODULE hExe;
        HRSRC hResInfo;
        DWORD taille = 0;
        HGLOBAL hMem;
        void *pData;
        SDL_RWops *rw;
        hExe = GetModuleHandle(NULL);
        hResInfo = FindResource(hExe, hID, "RT_BITMAP");
        taille = SizeofResource(hExe, hResInfo);
        hMem = LoadResource(hExe, hResInfo);
        pData = LockResource(hMem);
        rw = SDL_RWFromMem(pData, taille);
        temp = SDL_LoadBMP_RW(rw,0);
        SDL_FreeRW(rw);
        surface = SDL_DisplayFormat(temp);
        SDL_FreeSurface(temp);
        return surface;
    }

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 118
    Points : 32 984
    Points
    32 984
    Billets dans le blog
    4
    Par défaut
    Salut,

    IMG_Load_RW est ce que tu veux, il ne prend pas un fichier mais directement un buffer (le contenu d'un fichier).
    Tu peux très bien créer toi-même ton fichier avec l'extension de ton choix, et avoir un xml à côté (principe des textureset) ou ajouter un en-tête au fichier avec les offset de chaque image contenus, pour savoir où dans le buffer se trouvent les données de l'image.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    Bonjour, Faut il que j’extraie mes images du SDL_RWOPS* ou je peux directement créer mes surfaces avec IMG_Load_RW() d'une certaine façon ?

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 118
    Points : 32 984
    Points
    32 984
    Billets dans le blog
    4
    Par défaut
    Quelle est la question ? IMG_Load_RW retourne un SDL_Surface*
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    je parlais dans le cas où mon SDL_RWops contient plusieurs texture
    edit: A ce que j'ai compris du tutoriel que j'avais pas trouvé avant, on ne peut pas charger les surfaces directement à partir du textureset, donc il faut charger chaque texture en mémoire, en faire des SDL_RWops puis créer la surface avec SDL_Loads_RW().

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] VB 2010: Interaction entre les projets.Problème avec les images
    Par stracoma dans le forum VB.NET
    Réponses: 3
    Dernier message: 30/11/2014, 23h30
  2. Réponses: 2
    Dernier message: 24/03/2010, 18h47
  3. JAR compiler les images avec mon projet
    Par hisy dans le forum Général Java
    Réponses: 6
    Dernier message: 12/07/2007, 14h07
  4. [VB6] Comment gérer les images d'un projet
    Par fikou dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/04/2006, 17h28
  5. Les fichiers d'un projet
    Par Manolo dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/05/2002, 17h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo