*   >> Чтение Образование Статьи >> science >> programming

Создание 3D-игры с Огре - загрузка файла Scene

ии); недействительными processLightAttenuation (TiXmlElement * XMLNode, свет * бедственном положении);

Строка getAttrib (TiXmlElement * XMLNode, строительства Строка & параметр, строительства Строка & DefaultValue = ""); Недвижимость getAttribReal (TiXmlElement * XMLNode, строительства Строка & параметр, Недвижимость DefaultValue = 0); INT getAttribInt (TiXmlElement * XMLNode, строительства Строка & параметр, INT DefaultValue = 0); BOOL getAttribBool (TiXmlElement * XMLNode, строительства Строка & параметр, BOOL DefaultValue = ложь);

Vector3 parseVector3 (TiXmlElement * XMLNode); Кватернион parseQuaternion (TiXmlElement * XMLNode); ColourValue parseColour (TiXmlElement * XMLNode);

SceneManager * mSceneMgr; SceneNode * mAttachNode; Строка m_sGroupName; Строка m_sPrependNode; }} //

#endif DOT_SCENELOADER_H

<р> DotSceneLoader.

cpp

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

используя патезрасе; использование имен Ogre;

аннулированию DotSceneLoader :: parseDotScene (Пост Строка & SceneName, константный строку & Groupname, SceneManager * yourSceneMgr, SceneNode * pAttachNode, строительства Строка & sPrependNode) {//создать общие ценности объекта m_sGroupName = Groupname; mSceneMgr = yourSceneMgr; m_sPrependNode = sPrependNode; staticObjects.clear (); dynamicObjects.

clear ();

TiXmlDocument * XMLDoc = 0; TiXmlElement * XMLRoot;

попробовать {//Газа путь Огре :: Строка базовое, путь; Огре :: :: StringUtil splitFilename (SceneName, базовое, путь);

DataStreamPtr pStream = ResourceGroupManager :: getSingleton (). openResource (базовое, Groupname);

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

данные String = pStream-> getAsString (); //Открываем XMLDoc .scene файла = новый TiXmlDocument (); XMLDoc-> Разбор (data.c_str ()); pStream-> Close (); pStream.setNull ();.


если (XMLDoc-> Ошибка ()) {//Мы просто войти, и продолжать изящно LogManager :: getSingleton () LogMessage ("[DotSceneLoader] TiXmlDocument сообщил об ошибке" ); удалить XMLDoc; вернуть; }} Поймать (...) {//Мы просто войти, и продолжать изящно LogManager :: getSingleton () LogMessage ("[DotSceneLoader] Ошибка создания TiXmlDocument"). удалить XMLDoc; вернуть; } //Проверка

Файл XMLRoot = XMLDoc-> RootElement (); если (Строка (XMLRoot-> Значение ()) = "сцена"!) {LogManager :: getSingleton () LogMessage. ("[DotSceneLoader] Ошибка:. Неверный файл .

sce

Page   <<  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... >>  >> 
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.