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;
mitätöidä DotSceneLoader :: parseDotScene (vakio String & SceneName, vakio String & groupName, SceneManager * yourSceneMgr, SceneNode * pAttachNode, const String & sPrependNode) {//perustaa jaettu objekti arvot m_sGroupName = groupName; mSceneMgr = yourSceneMgr; m_sPrependNode = sPrependNode; staticObjects.clear (); dynamicObjects.
clear ();
TiXmlDocument * XMLDoc = 0; TiXmlElement * XMLRoot;
try {//Strip polku Ogre :: String basename, polku; Ogre :: StringUtil :: splitFilename (SceneName, basename, polku);
DataStreamPtr pStream = ResourceGroupManager :: getSingleton (). openResource (basename, groupName);
//DataStreamPtr pStream = ResourceGroupManager :: getSingleton (). //OpenResource (SceneName, groupName);
String data = pStream-> getAsString (); //Avaa .scene Tiedoston XMLDoc = uusi TiXmlDocument (); XMLDoc-> Parse (data.c_str ()); pStream-> lähellä (); pStream.
setNull ();
jos (XMLDoc-> Virhe ()) {//Me vain kirjautua, ja jatkaa sulavasti LogManager :: getSingleton (). logMessage ("[DotSceneLoader] TiXmlDocument raportoitiin virhe" ); poistaa XMLDoc; palata; }} Catch (...) {//Me vain kirjautua, ja jatkaa sulavasti LogManager :: getSingleton (). LogMessage ("[DotSceneLoader] Virhe luotaessa TiXmlDocument"); poistaa XMLDoc; palata; }
//Vahvista tiedoston XMLRoot = XMLDoc-> RootElement (); jos (String (XMLRoot-> Value ())! = "kohtaus") {LogManager :: getSingleton (). logMessage ("[DotSceneLoader] Virhe: Virheellinen .scene File.
Puuttuvaa"); poistaa XMLDoc; palata; }
//Selvittää, minne kiinnität mitään solmuja luomme mAttachNode = pAttachNode; jos (! mAttachNode) mAttachNode = mSceneMgr-> getRootSceneNode ();
//Prosessi kohtaus processScene (XMLRoot);
//Sulje XML-tiedoston poistaa XMLDoc;}
mitätöidä DotSceneLoader :: processScene (TiXmlElement * XMLRoot) {//Prosessi kohtaus parametrit String versio = getAttrib (XMLRoot, "formatVersion", "tuntematon");
String viesti = "[DotSceneLoader] jäsennys dotScene tiedosto versio" + versio; jos (XMLRoot-> Taito ("ID")) viesti + = ", id" + String (XMLRoot-> Taito ("ID")); jos (XMLRoot-> Taito ("sceneManager")) viesti + = ", kohtaus johtaja" + String (XMLRoot-> Taito ("sceneManager")); jos (XMLRoot-> Taito ("minOgreVersion")) viesti + = ", min.
Ogre versio" + String (XMLRoot-> Taito ("minOgreVersion")); jos (XMLRoot-> Taito ("tekijä")) viesti + = ", kirjailija" + String (XMLRoot->
Luominen Flash tasohyppelypeli Flixel ja Flex - Powerup Blocks
- Threading Dot Net 2.0 - erillinen kopio staattisen muuttujan eri säikeitä käy…
- C ++ String Class
- Indeksi tietokannan Tables
- Perl ViittausArray
- Oppiminen ohjelmointi Language
- Konsoli Hakemus soittamalla Tapahtuma käyttäen edustaja C # 1.1 ja 2.0 ( Dot N…
- Data Määritelmä perusteet Sybase
- C ++ String luokka Basics
- Täytäntöönpanosta Tietokanta Mysql
- HTML Object Arkisto Attribute