*   >> Læs Uddannelse artikler >> science >> programming

Realiseringen af ​​et 3D-spil med Ogre - Indlæsning af en Scene

nst String & parameter, Fast standardVærdi = 0); int getAttribInt (TiXmlElement * XMLNode, const String & parameter, int standardVærdi = 0); bool getAttribBool (TiXmlElement * XMLNode, const String & parameter, bool standardVærdi = 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" 

hjælp namespace std; hjælp namespace Ogre;

ugyldiggøre DotSceneLoader :: parseDotScene (const String & SceneName, const String & groupName, SceneManager * yourSceneMgr, SceneNode * pAttachNode, const String & sPrependNode) {//oprettet delt objekt værdier m_sGroupName = groupName; mSceneMgr = yourSceneMgr; m_sPrependNode = sPrependNode; staticObjects.clear (); dynamicObjects.

clear ();

TiXmlDocument * xmlDoc = 0; TiXmlElement * XMLRoot;

try {//Strip stien Ogre :: String basename, vej; Ogre :: StringUtil :: splitFilename (SceneName, basename, sti);

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

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

String data = pStream-> getAsString (); //Åbn .scene File xmlDoc = ny TiXmlDocument (); XMLDoc-> Parse (data.c_str ()); pStream-> tæt (); pStream.setNull ();.


hvis (XMLDoc-> Fejl ()) {//Vi vil bare logge, og fortsætte på yndefuldt LogManager :: getSingleton () logMessage ("[DotSceneLoader] Den TiXmlDocument rapporterede en fejl" ); slet xmlDoc; tilbage; }} Catch (...) {//Vi vil bare logge, og fortsætte på yndefuldt LogManager :: getSingleton () logMessage ("[DotSceneLoader] Fejl ved oprettelse TiXmlDocument."); slet xmlDoc; tilbage; }

//Godkend File XMLRoot = XMLDoc-> RootElement (); hvis (String (XMLRoot-> Value ()) = "scene"!) {LogManager :: getSingleton () logMessage. ("[DotSceneLoader] Fejl:. Ugyldig .

scene File Missing"); slet xmlDoc; tilbage; }

//regne ud, hvor at vedhæfte eventuelle knuder vi skaber mAttachNode = pAttachNode; if (! mAttachNode) mAttachNode = mSceneMgr-> getRootSceneNode ();

//Proces scenen processScene (XMLRoot)

//Luk XML File slette xmlDoc;}

ugyldiggøre DotSceneLoader :: processScene (TiXmlElement *

Page   <<  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... >>  >> 
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.