Classes como jogador, arma e Inimigo que se estendeu a classe PersistentFrameListener agora estender a classe CollisionObject. Abaixo, você pode ver como o inimigo de classe implementa a função de colisão.
Inimigo vazio :: Colisão (CollisionObject * outro) {if (outro-> GetCollisionType () == PLAYER_WEAPON_CT) {* Arma arma = static_cast (outro ); this-> escudos - weapon- => GetDamage (); if (this-> escudos GetCollisionType () == PLAYER_CT) {Shutdown (); }}A classe BasicEnemy implementa a função GetBoundingSphere usando o construído em função getWorldBoundingSphere que está disponível em todos MovableObjects Ogre (essencialmente todos os objetos Ogre visuais).
Sphere BasicEnemy :: GetBoundingSphere () {return this- > mesh-> getWorldBoundingSphere ();}As mudanças para o Armamento, Bala e aulas de Jogadores são semelhantes. Você pode dar uma olhada no código fonte para ver as alterações específicas feitas a essas classes.
Main.cpp
A função principal é atualizado para inicialização e desligamento da classe 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 # definir WIN32_LEAN_AND_MEAN # incluem "windows.h" INT WINAPI WinMain (HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT) #elseint main (int argc, char ** argv) #endif {ENGINEMANAGER.AddNewResourceLocation (ResourceLocationDefinition ("FileSystem", "../../media", "General")); ENGINEMANAGER.AddNewResourceLocation (ResourceLocationDefinition ("Zip", "../../media/media.zip", "General")); 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 (); EN
Começando com Activeperl
- Móvel Lançamento Skypephone
- Fazendo um clone de Space Invaders com PushButton - Bullets
- C-Sharp
- Eclipse IDE for Java Programmers
- Guia para Iniciantes uma linguagem de programação: Php
- Projetando banco de dados Tables
- Mysql data e hora Functions
- Estilos classe de janela
- Como configurar suas conexões de rede do Windows Vista
- Aplicativo de console para criar Triângulo Pirâmide Usando C # Code