Lataa demo ja lähdekoodi [linux]
Lataa demo ja lähdekoodi [WINDOWS]
TAKAISIN TUTORIAL INDEX
Nyt kun olemme aloittama Ogre 3D-moottori on aika aloittaa näyttänyt 3D-objekteja. Yksi kysymyksistä, että kehittäjät on käsiteltävä on miten taso määritellään ja ladataan Ogre moottori. Helpoin tapa, ainakin aluksi, on yksinkertaisesti kova koodi luomista tason C ++.
Kaikki näytteet, jotka tulevat Ogre 3D SDK kova koodi logiikka luoda maasto, näytetään 3D-objektin, perustamalla skybox jne, joten se on houkuttelevaa yhdistää koodi kaikki nämä näytteet tehdä täydellinen tasolla.
On olemassa useita suuria haittoja määritellään tasolle tällä tavalla.
1. Jokainen pieni muutos tasolla edellyttää sovellus kääntää uudelleen (ja joka saa hyvin aikaa vievää).
2. On lähes mahdotonta muille kuin kehittäjä luoda tasoja.
3.
Se tarkoittaa, että et voi käyttää 3rd party työkaluja luoda maailma, koska ei maailma luominen hyödyllisyys Tiedän tuotosten C ++ koodia.
Vaihtoehtona on määritellä tasolle ulkoiseen tiedostoon. Vaikka Ogre ei ole natiivi tuki tätä, aloite nimeltään dotscene ei määritä XML-formaatissa, jota voidaan käyttää nopeasti setup kohtauksen tai tasolla. Muoto on myös jotain standardin Ogre, ja varsin harvat 3. osapuolen työkalut tukevat muotoa.
Valitettavasti dotscene aloite ei ole aivan yhtä ominaisuus täydellinen kuin voisi odottaa.
Dotscene itse vain määrittää muoto ja jättää varsinaisen täytäntöönpanon jopa muille. On ollut monia yrityksiä toteuttaa spesifikaation, mutta kaikki näyttävät puutteensa. Onneksi uusin toteuttamista, kutsutaan "Uusi DotScene Loader" on Ogre Wiki, ei panna täytäntöön suurin osa mitä me tarvitsemme.
Meidän peli käyttää DotSceneLoader luokka, ja nyt jatkamme sen tukea alustus maasto kohtaus johtajat. Myöhemmin annamme DotSceneLoader luokan kyky kuormata nimenomaan meidän peli, joka poikkeaa virallinen standardi, mutta se on hieno meidän tarkoituksiin.
DotSceneLoader.
h
#ifndef DOT_SCENELOADER_H # määritellä DOT_SCENELOADER_H//Sisältää # include "OgreString.h" #include "OgreVector3.h" #include "OgreQuaternion.h" #include "vektori"
//Eteenpäin declarationsclass TiXmlElement ;
nimitila Ogre {//esitettävä ilmoituksensa luokka SceneManager, luokka SceneNode;
luokan nodeProperty {julkinen: String nodename, String propertyNm, String valueName, String typename,
nodeProperty (vakio String & solmu, vakio Str
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