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

C# Discussion :

[C#] Créer un package


Sujet :

C#

  1. #1
    Membre confirmé Avatar de Mecano14
    Inscrit en
    Juin 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juin 2004
    Messages : 71
    Par défaut [C#] Créer un package
    Bonjour,
    J'ai crée un moteur de jeu 2D basé sur la programmation objet.
    Lorsqu'un utilisateur sauvegarde sa creation, je serialise dans un XML mais je trouve pas ca terrible (c'est éditable et encombrant)
    Y'a-t-il une classe en C# qui permet de gerer des fichiers de ressource externes dynamiquement? (un gros fichier avec les XML, images, sons à l'interieur)

    Merci

  2. #2
    Membre expérimenté Avatar de Gulix
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Par défaut
    Je pense que tu peux essayer de te faire ton propre exporteur, en travaillant avec les BinaryStream. J'ai moi-même fait un gestion d'import-export de la sorte (fichiers xml + audio) pour mon jeu.

    Si tu veux voir à quoi ça ressemble, je peux te passer le bout de code qui gère ça.
    "L'univers... on croit qu'il est infini mais quand on arrive au bout un gorille géant vous balance des tonneaux."
    Phillip J. Fry

    http://www.gulix.fr/

    BlindShark, Logiciel de Blind Test - Pull N' Bounce - Jeu XNA

  3. #3
    Membre confirmé Avatar de Mecano14
    Inscrit en
    Juin 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juin 2004
    Messages : 71
    Par défaut
    Oui ca m'interesse de voir
    Ce qui je me demande surtout en utilisant BinaryStream, c'est comment tu balises le fichier de ressources pour qu'on s'y retrouve à la lecture.

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    tu peux aussi utiliser les classes de gestion de ressource du framework.

    Ces classes te permettent e lire, mais aussi de créer tes propres fichiers de ressources

    Sinon, une autre approche est d'avoir une classe qui "contient" tes resource et de la sérialiser en binaire.. ce qui présente l'avantage de se faire rapidemment, et etant en binaire, on lira pas trop te données et elles prendront "moins" de place

    (enfin, perso, j'opterais "surement" pour la solution classe à sérialiser en binaire... (d'un autre coté, les classes de ressources doivent faire des choses un peu équivalente

    The Monz, Toulouse

  5. #5
    Membre confirmé Avatar de Mecano14
    Inscrit en
    Juin 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juin 2004
    Messages : 71
    Par défaut
    Merci pour votre aide, ca m'a permis d'affiner ma recherche:

    http://dotnet.developpez.com/faq/asp...rationresource

  6. #6
    Membre confirmé Avatar de Mecano14
    Inscrit en
    Juin 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juin 2004
    Messages : 71
    Par défaut
    Question :

    Existe-t-il un moyen de retirer une ressource d'un fichier écrit avec System.Resources.ResourceWriter

    J'arrive à ajouter des ressources, les récuperer mais pour les retirer je ne vois aucune méthode.

    Merci

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    S'il n'y a pas de méthode exprès pour ça, tu peux toujours contourner le problème : tu crées un nouveau fichier de ressources, tu y mets toutes les ressources sauf celles que tu veux pas, et tu renommes...
    Oui, je sais, c'est pas beau

  8. #8
    Membre confirmé Avatar de Mecano14
    Inscrit en
    Juin 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juin 2004
    Messages : 71
    Par défaut
    EN fait je suis passé par un ArrayList
    J'ai crée une classe "resource" qui contient
    string nom
    object data

    Je stock ainsi toutes mes ressources dans mon Arraylist ce qui me permet de beneficier de toutes les méthodes Add(), Remove()...

    Pour sauvegarder mon fichier de ressources il me suffit de faire un foreach sur mon arraylist et d'ecrire mes ressources les unes après les autres

    Ceci m'evite de reecrire mon fichier à chaque modification d'une ressource!
    Merci encore

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Bien vu !
    Mais ce serait encore plus simple avec un Dictionary<string, object>, comme ça tu n'aurais pas besoin de ta classe "resource" puisque le nom de la ressource serait la clé qui permet de la récupérer. En plus ce serait plus pratique à utiliser : avec un ArrayList, tu es obligé de boucler sur tous les éléments jusqu'à ce que tu trouves le bon, alors qu'avec un Dictionary, tu accèdes directement à l'élément que tu veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resources["nom_de_la_ressource"]

  10. #10
    Membre confirmé Avatar de Mecano14
    Inscrit en
    Juin 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juin 2004
    Messages : 71
    Par défaut
    Encore plus fort! Merci

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

Discussions similaires

  1. créer un package SQL 2005 express + BDD
    Par cbleas dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 13/10/2007, 03h37
  2. Créer un package sans les sources ?
    Par QAYS dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/09/2007, 11h13
  3. [9i]créer un package...
    Par hoaxpunk dans le forum Oracle
    Réponses: 3
    Dernier message: 01/02/2006, 13h46
  4. [VB6]créer un package d'installation, package de déploiement
    Par mcay dans le forum Installation, Déploiement et Sécurité
    Réponses: 2
    Dernier message: 13/12/2005, 14h55
  5. créer sous package
    Par soony dans le forum Oracle
    Réponses: 2
    Dernier message: 22/07/2005, 15h37

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