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

Développement 2D, 3D et Jeux Discussion :

[C][méthodologie]Mettre en mémoire les images d'un programme 2d


Sujet :

Développement 2D, 3D et Jeux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de yetimothee
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 260
    Par défaut [C][méthodologie]Mettre en mémoire les images d'un programme 2d
    Bonjour,
    Voilà, depuis que je programme des petits jeux 2d, simples mais ça m'amuse avec Allegro principalement, je trouve cela embêtant d'assigner les images au Bitmap* comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    BITMAP* joueur[10] ;
     
    joueur[0] = load_bitmap("image1.bmp", NULL);
    joueur[1] = load_bitmap("image2.bmp", NULL);
    //Et ainsi de suite
    J'avais pensé à allouer dynamiquement un tableau et à conserver le noms et nombres d'images dans un fichier texte, et ainsi allouer automatiquement les images aux Bitmap*.

    Une bonne idée ?

    Merci !

  2. #2
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 577
    Par défaut
    je pense que c'est une bonne idée
    et tu peux te créer une structure qui te servira d'interface mémoire pour les images chargées
    quelques fonctions pour la gérer et c'est partit
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  3. #3
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 532
    Par défaut
    Citation Envoyé par yetimothee Voir le message
    J'avais pensé à allouer dynamiquement un tableau et à conserver le noms et nombres d'images dans un fichier texte, et ainsi allouer automatiquement les images aux Bitmap*.

    Merci !
    je te conseille d'assimiler plus de concepts du C ou C++ avant d'aller plus loin dans la programmation d'un jeu.
    Pour un tableau dynamique en C il faut prendre des listes chainées, sinon en C++ tu as std::vector , std::list...
    Donc en C++ cela donnera simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    std::vector<BITMAP *> bitmaps_joueurs;
     
    BITMAP* image ;
    char nom_fichier[256];
    for(int i=0;i<nombre_images;i++)
    {
    sprintf(nom_fichier,"image%i.bmp",i);
    image= load_bitmap(nom_fichier, NULL);
    bitmaps_joueurs.push_back(image);
    }
    //...

  4. #4
    Membre très actif Avatar de yetimothee
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 260
    Par défaut
    Hm, je ne projete pas de coder en C++, mais exclusivement en C (pour la beauté de la chose :p).

  5. #5
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 532
    Par défaut
    Citation Envoyé par yetimothee Voir le message
    Hm, je ne projete pas de coder en C++, mais exclusivement en C (pour la beauté de la chose :p).
    D'accord c'est vrai pourquoi faire simple quand on peut faire compliqué.
    Alors si ma méthode est mauvaise comment vas-tu procéder ? Je suis dans l'attente d'une bonne explication

  6. #6
    Membre très actif Avatar de yetimothee
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 260
    Par défaut
    Eh ! J'ai pas dis que ta méthode étais mauvaise, mais c'est vrai que je crois que je vais retourner à ce bon vieux C++ (je suis compliqué).

    Et j'avais pas vraiment pris le temps de regarder ta méthode, étant donné que c'est du C++, mais ça faciliterais largement le travail

    Bon, ben merci à toi, je verrais ce que je peux faire

  7. #7
    Invité
    Invité(e)
    Par défaut
    Hep... depuis quand un tableau dynamique, c'est une liste chainée ?

    Il suffit de connaitre à l'avance le nombre d'images, et de faire un petit malloc de la bonne taille... ou alors d'utiliser realloc à chaque nouvelle image, c'est pas grave, on est dans une phase de chargement, pas de problemes de perfs (dans une certaine limite, hein, mais le tableau il a l'air d'etre de taille 10)

    Si tu as un fichier simple, qui contient la liste des fichiers à charger, avec un fichier par ligne, tu le parcours une premiere fois pour savoir la taille, et une 2eme pour lire les noms des fichiers... c'est pas si complexe.

Discussions similaires

  1. Ou mettre les images nécessaires à un site
    Par alexxxx69 dans le forum ASP.NET MVC
    Réponses: 2
    Dernier message: 17/10/2011, 17h04
  2. où mettre les images pour des test JUnit ?
    Par zaboug dans le forum Général Java
    Réponses: 2
    Dernier message: 22/09/2011, 09h18
  3. Firefox, les images et la consommation mémoire
    Par heygeo dans le forum Performance Web
    Réponses: 4
    Dernier message: 02/02/2011, 23h31
  4. [Image] Gestion mémoire et les images
    Par HunTR dans le forum Débuter
    Réponses: 24
    Dernier message: 15/04/2010, 13h45
  5. Réponses: 2
    Dernier message: 27/09/2005, 12h46

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