*   >> Lecture Éducation Articles >> science >> la programmation

Faire un jeu en 3D avec Ogre - Chargement d'un Scene

Element XMLNode, Lumière * sort);

cordes getAttrib (TiXmlElement * XMLNode, const String & paramètre, const String & defaultValue = ""); GetAttribReal réel (* TiXmlElement XMLNode, const String & paramètre, le Real defaultValue = 0); int getAttribInt (TiXmlElement * XMLNode, const String & paramètre, int defaultValue = 0); bool getAttribBool (TiXmlElement * XMLNode, const String & paramètre, bool defaultValue = false);

Vector3 parseVector3 (TiXmlElement * XMLNode); Quaternion parseQuaternion (TiXmlElement * XMLNode); ColourValue parseColour (TiXmlElement * XMLNode);

SceneManager * mSceneMgr; SceneNode * mAttachNode; Chaîne m_sGroupName; Chaîne m_sPrependNode; };}

#endif //DOT_SCENELOADER_H

DotSceneLoader.

cpp

 #include "DotSceneLoader.h" #include "tinyxml.h" #include "Ogre.h" using namespace std; using namespace Ogre; 

annuler DotSceneLoader :: parseDotScene (const String & sceneName, const String & groupName, SceneManager * yourSceneMgr, SceneNode * pAttachNode, const String & sPrependNode) {//configurer des valeurs d'objet partagé m_sGroupName = groupName; mSceneMgr = yourSceneMgr; m_sPrependNode = sPrependNode; staticObjects.clear (); dynamicObjects.

clear ();

TiXmlDocument * XMLDoc = 0; TiXmlElement * XMLRacine;

try {//bande de la voie Ogre :: string basename, chemin; Ogre :: :: StringUtil splitFilename (sceneName, basename, chemin);

DataStreamPtr pStream = ResourceGroupManager :: getSingleton (). openResource (basename, groupName); //DataStreamPtr

pStream = ResourceGroupManager :: getSingleton (). //OpenResource (sceneName, groupName);

données String = pStream-> getAsString (); //Ouverture de la XMLDoc .scene File = new TiXmlDocument (); XMLDoc-> Parse (data.c_str ()); pStream-> close (); pStream.setNull ();.


si (XMLDoc-> Erreur ()) {//Nous allons simplement vous connecter, et continuer sur gracieusement LogManager :: getSingleton () logMessage ("[DotSceneLoader] Le TiXmlDocument a signalé une erreur" ); supprimer XMLDoc; revenir; }} Catch (...) {//Nous allons connectez-vous, et continuer sur gracieusement LogManager :: getSingleton () logMessage ("[DotSceneLoader] Erreur de création TiXmlDocument."); supprimer XMLDoc; revenir; } //

Validation du fichier XMLRacine = XMLDoc-> RootElement (); si (String (XMLRoot-> Valeur ()) = «scène»!) {LogManager :: getSingleton () logMessage.

("[DotSceneLoader] Erreur:. Invalid File .scene manquant"); supprimer XMLDoc; revenir; } //

savoir où fixer les nœuds que nous créons mAttachNode = pAttachNode; if (! mAttachNode) mAttachNode = mSceneMgr->

Page   <<  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ...

>>  >> 

Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.