*   >> Lese Utdanning Artikler >> science >> programming

Å gjøre en 3D-spill med Ogre - Legge en Scene

ool (TiXmlElement * XMLNode, konst String & parameter, bool Default = 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" Anmeldelser bruker namespace std; bruker namespace Ogre;

annullere DotSceneLoader :: parseDotScene (konst String & SceneName, konst String & groupname, SceneManager * yourSceneMgr, SceneNode * pAttachNode, konst String & sPrependNode) {//satt opp felles objektverdier m_sGroupName = groupname; mSceneMgr = yourSceneMgr; m_sPrependNode = sPrependNode; staticObjects.clear (); dynamicObjects.

clear ();

TiXmlDocument * XMLDoc = 0; TiXmlElement * XMLRoot;

try {//Strip banen Ogre :: String basename, bane; Ogre :: StringUtil :: splitFilename (SceneName, basename, bane);

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

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

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


if (XMLDoc-> Feil ()) {//Vi må bare logge, og fortsett på grasiøst LogManager :: getSingleton () logMessage ("[DotSceneLoader] Den TiXmlDocument rapporterte en feil" ); slette XMLDoc; komme tilbake; }} Catch (...) {//Vi må bare logge, og fortsett på grasiøst LogManager :: getSingleton () logMessage ("[DotSceneLoader] Feil ved oppretting TiXmlDocument."); slette XMLDoc; komme tilbake; }

//validere Fil XMLRoot = XMLDoc-> RootElement (); if (String (XMLRoot-> Value ()) = "scene"!) {LogManager :: getSingleton () logMessage. ("[DotSceneLoader] Feil:. Ugyldig .

scene fil mangler"); slette XMLDoc; komme tilbake; }

//finne ut hvor du skal feste noen noder vi skaper mAttachNode = pAttachNode; if (! mAttachNode) mAttachNode = mSceneMgr-> getRootSceneNode ();

//Behandle scene processScene (XMLRoot);

//Lukk XML File slette XMLDoc;}

annullere DotSceneLoader :: processScene (TiXmlElement * XMLRoot) {//Process scenen Parametere String version = getAttrib (XMLRoot, "formatVersion", "ukjent");

String melding = "[DotSceneLoader] Parsing dotScene fil med versjon" + versjon; if (XMLRoot-> Attribute ("ID")) melding + = ", id" + String (XMLRoot-> Attribute ("ID")); if (XMLRoot-> Attribute ("sceneManager")) melding + = ", scene manager" + String (XMLRoot-> Attribute ("sceneManager")); if (XMLRoot-> Attribute ("minOgreVersion")) melding + = ", min Ogre versjon.

» + String (XMLRoot-> Attribute ("minOgreVersion")); if (XMLRoot-> Attribute ("forfatter")) melding + = ", forfatter" + String (XMLRoot->

Page   <<  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... >>  >> 
Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.