*   >> lukeminen koulutus Artikkelit >> science >> programming

Making 3D-peli, jossa Ogre - lataaminen Scene

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;

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->

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