*   >> Lectura Educación Artículos >> science >> programación

Hacer un juego en 3D con Ogre - Carga de un Scene

* XMLNode, const Cadena y parámetros, const Cadena y defaultValue = ""); GetAttribReal Real (TiXmlElement * XMLNode, const Cadena y parámetro, Bienes defaultValue = 0); int getAttribInt (TiXmlElement * XMLNode, const Cadena y parámetros, int defaultValue = 0); bool getAttribBool (TiXmlElement * XMLNode, const Cadena y parámetros, bool defaultValue = false);

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

SceneManager * mSceneMgr; SceneNode * mAttachNode; M_sGroupName String; M_sPrependNode String; };}

#endif //DOT_SCENELOADER_H

DotSceneLoader.

cpp

 

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

anular DotSceneLoader :: parseDotScene (const Cadena y sceneName, const Cadena y nombre_de_grupo, SceneManager * yourSceneMgr, SceneNode * pAttachNode, const Cadena y sPrependNode) {//configurar los valores objeto compartido m_sGroupName = nombre_de_grupo; mSceneMgr = yourSceneMgr; m_sPrependNode = sPrependNode; staticObjects.clear (); dynamicObjects.

clear ();

TiXmlDocument * XMLDoc = 0; TiXmlElement * XmlRoot;

try {//Gaza el camino Ogre :: Cadena nombre base, camino; Ogre :: StringUtil :: splitFilename (sceneName, nombre base, ruta);

DataStreamPtr pStream = ResourceGroupManager :: getSingleton (). openResource (nombre base, nombre_de_grupo);

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

datos String = pStream-> getAsString (); //Abrir el XMLDoc .scene File = new TiXmlDocument (); XMLDoc-> Parse (data.c_str ()); pStream-> close (); pStream.

setNull ();.

si (XMLDoc-> Error ()) {//Vamos a sólo tienes que entrar y continuamos con gracia LogManager :: getSingleton () logMessage ("[DotSceneLoader] El TiXmlDocument informó de un error" ); Eliminar XMLDoc; regreso; }} Catch (...) {//Vamos a sólo tienes que entrar, y continuar con gracia LogManager :: getSingleton () logMessage ("[DotSceneLoader] Error al crear TiXmlDocument."); Eliminar XMLDoc; regreso; } //

validar el archivo XmlRoot = XMLDoc-> RootElement (); si (String (XMLRoot-> Valor ()) = "escena"!) {LogManager :: getSingleton () logMessage. ("[DotSceneLoader] Error:.

inválida .scene Archivo Missing"); Eliminar XMLDoc; regreso; } //

averiguar dónde adjuntar cualquier nodo que creamos mAttachNode = pAttachNode; if (! mAttachNode) mAttachNode = mSceneMgr->

Page   <<  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... >>  >> 
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.