Classes als speler, wapen en de vijand die uitgebreid de klasse PersistentFrameListener nu uitbreiden van de klasse CollisionObject. Hieronder kunt u zien hoe de vijand klasse implementeert de Collision functie.
leegte Enemy :: Collision (CollisionObject * overig) {if (andere-> GetCollisionType () == PLAYER_WEAPON_CT) {Wapen * wapen = static_cast (andere ); this-> schilden - = wapen-> GetDamage (); if (this-> schilden GetCollisionType () == PLAYER_CT) {uitschakelen (); }}De BasicEnemy klasse implementeert de GetBoundingSphere functie met behulp van de ingebouwde getWorldBoundingSphere functie die beschikbaar is op alle Ogre MovableObjects (nagenoeg alle visuele Ogre objecten).
Sphere BasicEnemy :: GetBoundingSphere () {return this- > gaaskant> getWorldBoundingSphere ();}De veranderingen voor de Weapon, Bullet en Speler klassen zijn vergelijkbaar. U kunt een kijkje nemen op de broncode te nemen om de specifieke wijzigingen in deze klassen zien.
main.cpp
De belangrijkste functie is bijgewerkt naar opstarten en afsluiten van de klasse CollisionManager.
#include "OgreEngineManager.h" #include "WeaponDatabase.h" #include "EnemyDatabase.h" #include "GameLevel.h" #include "CollisionManager.h" #include "IrrKlangEngineManager.h" #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 # definiëren WIN32_LEAN_AND_MEAN # include "windows.h" INT WINAPI WinMain (HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT) #elseint main (int argc, char ** argv) #endif {ENGINEMANAGER.AddNewResourceLocation (ResourceLocationDefinition ("FileSystem", "../../media", "Algemeen")); ENGINEMANAGER.AddNewResourceLocation (ResourceLocationDefinition ("Zip", "../../media/media.zip", "Algemeen")); if (ENGINEMANAGER.Startup (std :: string ("plugins.cfg"), std :: string ("ogre.cfg"), std :: string ("ogre.log"))) {IRRKLANGENGINEMANAGER.
Start
Aan de slag met Activeperl
- Draad Framing een Key Web Designing Tool:
- PushButton Tutorial Series - Tracking & amp; amp; Jumping
- C # - Het bouwen van een Fahrenheit /Celsius Converter
- Hoe je het MAC-adres van onze machine met behulp van VB .net krijgen?
- Network Security Management voor Grote Overheid, School, bedrijven en Homes
- C Object Identifiers
- Mobile Video Game Development: Een Quick Overview
- De C ++ String Class
- ASP.NET - C # - Met behulp van UserControls als Mail Templates
- Eenvoudige welkom en Print Console toepassing in C # ( C scherp) ( Dot Net )