*   >> Lezen Onderwijs artikelen >> science >> programming

Het maken van een 3D-spel met Ogre - Laden van een Scene

tring & parameter, const String & defaultValue = ""); Real getAttribReal (TiXmlElement * XMLNode, const String & parameter, echte defaultValue = 0); int getAttribInt (TiXmlElement * XMLNode, const String & parameter int defaultValue = 0); bool getAttribBool (TiXmlElement * XMLNode, const String & parameter bool defaultValue = false);

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

SceneManager * mSceneMgr; SceneNode * mAttachNode; String m_sGroupName; String m_sPrependNode; };}

#endif //DOT_SCENELOADER_H

DotSceneLoader.

cpp

 #include "DotSceneLoader.h" #include "tinyxml.h" #include "Ogre.h" 

using namespace std; using namespace Ogre;

ongeldig DotSceneLoader :: parseDotScene (const String & SceneName, const String & groupName, SceneManager * yourSceneMgr, SceneNode * pAttachNode, const String & sPrependNode) {//opzetten van gedeelde waarden object m_sGroupName = groupName; mSceneMgr = yourSceneMgr; m_sPrependNode = sPrependNode; staticObjects.clear (); dynamicObjects.

clear ();

TiXmlDocument * XMLDoc = 0; TiXmlElement * XmlRoot;

try {//Strip het pad Ogre :: String basename, pad; Ogre :: StringUtil :: splitFilename (SceneName, basename, pad);

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

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

String data = pStream-> getAsString (); //Open het .scene File XMLDoc = new TiXmlDocument (); XMLDoc-> Parse (data.c_str ()); pStream-> close (); pStream.setNull ();.


if (XMLDoc-> Fout ()) {//We zullen gewoon in te loggen, en verder op sierlijk LogManager :: getSingleton () logMessage ("[DotSceneLoader] De TiXmlDocument meldde een fout" ); XMLDoc verwijderen; terug; }} Catch (...) {//We zullen gewoon in te loggen, en verder op sierlijk LogManager :: getSingleton () logMessage ("[DotSceneLoader] Fout bij het maken TiXmlDocument."); XMLDoc verwijderen; terug; } //

Valideer de File XmlRoot = XMLDoc-> RootElement (); if (String (XMLRoot-> Value ()) = "scene"!) {LogManager :: getSingleton () logMessage. ("[DotSceneLoader] Fout:. Ongeldig .

scene File Missing"); XMLDoc verwijderen; terug; } //

achterhalen waar elke nodes creëren we mAttachNode = pAttachNode hechten; if (! mAttachNode) mAttachNode = mSceneMgr-> getRootSceneNode (); //

Verwerk de sc

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

>>  >> 

Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.