Klasser som spelare, Vapen och Enemy som förlängde PersistentFrameListener klassen nu utöka CollisionObject klassen. Nedan kan du se hur fienden klassen implementerar kollisionsfunktionen. Omdömen
void Enemy :: Kollision (CollisionObject * andra) {if (andra-> GetCollisionType () == PLAYER_WEAPON_CT) {Vapen * vapen = static_cast (andra ); this-> sköldar - = weapon-> GetDamage (); if (this-> sköldar GetCollisionType () == PLAYER_CT) {avstängning (); }}BasicEnemy klassen implementerar GetBoundingSphere funktionen med den inbyggda getWorldBoundingSphere funktion som finns på alla Ogre MovableObjects (i stort sett alla visuella Ogre objekt).
Omdömen
Sphere BasicEnemy :: GetBoundingSphere () {return detta- > mesh-> getWorldBoundingSphere ();}De förändringar för vapen, Bullet och spelar klasser är likartade. Du kan ta en titt på källkoden för att se de specifika ändringar som gjorts i dessa klasser. Omdömen
main.cpp Omdömen
Huvudfunktionen uppdateras till start och avstängning av CollisionManager klassen. Omdömen
#include "OgreEngineManager.h" #include "WeaponDatabase.h" #include "EnemyDatabase.h" #include "GameLevel.h" #include "CollisionManager.h" #include "IrrKlangEngineManager.h" #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 # definierar WIN32_LEAN_AND_MEAN # include "windows.h" INT WinAPI WinMain (HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT) #elseint main (int argc, röding ** argv) #endif {ENGINEMANAGER.AddNewResourceLocation (ResourceLocationDefinition ("Filesystem", "../../media", "Allmänt")); ENGINEMANAGER.AddNewResourceLocation (ResourceLocationDefinition ("Zip", "../../media/media.zip", "Allmänt")); if (ENGINEMANAGER.Startup (std :: string ("plugins.cfg"), std :: string ("ogre.cfg"), std :: string ("ogre.log"))) {IRRKLANGENGINEMANAGER.
Startup (); ENEMYDATABASE.Startup (); WEAPONDATABASE.Startup (); COLLISIONMANAGER.Startup (); GAMELEVEL.Startup ("Level1.XML"); ENGINEMANAGER.StartRenderLoop (); COLLISIONMANAGER.Shutdown (); WEAPONDATABASE.Shutdown (); ENEMYDATABASE.Shutdown (); GAMELEVEL.Shutdown (); IRRKLANGENGINEM
Komma igång med Activeperl
- Farm Hantering Software
- Vad är datastrukturer?
- Skapa ett Flash plattformsspel med flixel och Flex - Enemies
- Papervision 3D programmering tutorials - Clipping & amp; amp; Culling
- Akta stress !!!!
- Snabb introduktion till Uml
- ASP.
NET - C # - Hjälpen Mailer klass för mallbaserade e - post med inbäddade …
- Att göra en Space Invaders klon med tryckknapp - De första enemy
- Fönster Class Styles
- Php Array