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 :

Question sur Architecture d'un jeu vidéo 3D


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Question sur Architecture d'un jeu vidéo 3D
    Je lis l'excellent tutoriel "Architecture d'un jeu vidéo 3D: partie 1 " disponible sur le site. Il y a une classe que je ne comprends pas

    c'est la classe "engine_event.h" précisemment ce bout de code la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    bool operator==(const engine_event& e){
    		return (type == e.type) && 
    			   (s_data == e.s_data) && 
    			   (i_data == e.i_data) && 
    			   (v_data == e.v_data);
    	}
     
    	template<class Archive>
    	void serialize(Archive& ar, const unsigned int){
    		ar & type;
    		ar & s_data;
    		ar & i_data;
    		ar & v_data;
    	}
    Je ne comprends pas bien l'utilisation de ce template... c'est quoi <class Archive> ? A quoi sert la méthode
    void serialize(Archive& ar, const unsigned int) et comment fonctionne-elle ?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Une temùplate sert a eviter de faire plein de copier/coller dans ton code ou d'utiliser des void*.

    Lorsque que template<class Archive> void serialize est declarée, on utilise dedans le type Archive. Ce type n'eiste pas. En fait une version de ta fonction va etre generée pour chaque type que tu va lui passer en argument.

  3. #3
    Membre averti Avatar de Kujara
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 262
    Points : 358
    Points
    358
    Par défaut
    Citation Envoyé par deadalnix Voir le message
    Une temùplate sert a eviter de faire plein de copier/coller dans ton code ou d'utiliser des void*.

    Lorsque que template<class Archive> void serialize est declarée, on utilise dedans le type Archive. Ce type n'eiste pas. En fait une version de ta fonction va etre generée pour chaque type que tu va lui passer en argument.
    C'etait pas la question.

    e ne comprends pas bien l'utilisation de ce template... c'est quoi <class Archive> ? A quoi sert la méthode
    void serialize(Archive& ar, const unsigned int) et comment fonctionne-elle ?
    Va faire un tour du coté de boost::serialize.

    Ca sert a sauvegarder / lire l'etat d'une classe dans un fichier binaire/texte, flux reseau ou un peu n'importe quoi...

Discussions similaires

  1. [Tutoriel] Bug tuto 'Architecture d'un jeu vidéo 3D'
    Par Oxideur dans le forum Moteurs 3D
    Réponses: 5
    Dernier message: 14/09/2009, 22h16
  2. Question sur "Architecture d'un jeu vidéo 3D par Pierre Schwartz"
    Par TocTocKiéLà? dans le forum Développement 2D, 3D et Jeux
    Réponses: 6
    Dernier message: 01/09/2009, 22h31
  3. [Bénévole] Recherche un programmeur PHP pour site Web sur le monde du jeu vidéo
    Par xcalibure- dans le forum Autres
    Réponses: 0
    Dernier message: 08/06/2009, 00h53
  4. Ecrire du texte sur une fenêtre de Jeu vidéo (OSD)
    Par zenway dans le forum DirectX
    Réponses: 7
    Dernier message: 07/03/2009, 14h06

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