o download do demo e código fonte PARA WINDOWS
o download do demo e código fonte para Linux
Voltar ao Índice TUTORIAL
Com a detecção de colisão em funcionamento, é agora possível para destruir os inimigos. O efeito é um pouco insatisfatório, porque embora eles simplesmente desaparecer. Podemos usar um sistema de partículas para uma explosão, mas por sistemas de partículas padrão no Ogre são projetados para serem efeitos permanentes, ou seja, uma vez adicionado à cena um sistema de partículas irá exibir o seu efeito até que seja removido.
Desde a explosão é um fora de "bang", precisamos de uma maneira de adicionar um sistema de partículas, esperar que ela termine, e então removê-lo da cena. A classe ParticleSystemEffect será utilizado para este fim
ParticleSystemEffect.h
/* * * * ParticleSystemEffect.h Autor:. Matthew Casperson * Email: * [email protected] Website: http: //www.brighthub.com/hubfolio/matthew-casperson.aspx * /# ifndef PARTICLESYSTEMEFFECT_H_ # definir PARTICLESYSTEMEFFECT_H_ # incluem "PersistentFrameListener.h" class ParticleSystemEffect: PersistentFrameListener pública {public: ParticleSystemEffect (); ~ ParticleSystemEffect (); anular Startup (const Vector3 & posição, const string & particleSystemName); Shutdown void (); bool FrameStarted (const FrameEvent & EVT); protegido: InitialiseVariables void (); flutuar timeToLive; SceneNode * SceneNode; ParticleSystem * particleSystem;}; # endif
ParticleSystemEffect.cpp
#include "ParticleSystemEffect.h" #include "GameLevel.h" #include "Utilities.h" ParticleSystemEffect :: ParticleSystemEffect () {InitialiseVariables ( );} ParticleSystemEffect :: ~ ParticleSystemEffect () {}
A função de inicialização é muito semelhante às funções de inicialização para os inimigos e armas na medida em que cria um SceneNode ao qual atribui um objeto Ogre (um sistema de partículas, neste caso, )
vazio ParticleSystemEffect :: Startup (const Vector3 & posição, const string & particleSystemName) {PersistentFrameListener :: Startup (.); SceneNode = GAMELEVEL.GetPlayerSceneNode () -> createChildSceneNode (posição); particleSystem = GAMELEVEL.GetSceneManager () -> createParticleSystem (Utilities :: GetUniqueName ("ParticleSystemEffect"), particleSystemName); sceneNode-> attachObject (particleSystem);
Depois, temos que trabalhar para fora quanto tempo o sistema de partículas deve funcionar para antes de ser retirado do nível. A
iPhone marcação de um telefone Número de peça 1
- Janelas Lista Box
- Php Declarações Condicionais
- Como Chegar iPod Touch /iPhone firmware 3.1.2 e jailbreak-lo para 1G, 2G, 3G Bla…
- Que linguagem de programação para começar - Parte 2
- Java exame SCWCD - dicas úteis para Students
- Começando com Css2
- Introdução à Programação Mysql Para Events
- Guia para Iniciantes uma linguagem de programação: Vb.net
- Mysql Expressões Regulares Metacharacters
- Programa em várias aplicações com Titanium