Download de demo en de broncode voor Windows
Download de demo en de broncode voor Linux
Terug naar de tutorial INDEX
Met collision detection up and running is het nu mogelijk om de vijanden te vernietigen. Het effect is een beetje onbevredigend maar omdat ze gewoon verdwijnen. We kunnen een deeltje systeem gebruiken voor een explosie, maar standaard deeltjessystemen in Ogre zijn ontworpen om blijvende effecten, dwz een keer toegevoegd aan de scène een deeltje systeem zal het effect weer te geven totdat het wordt verwijderd.
Sinds een explosie is een one-off "bang", moeten we een manier vinden om een deeltje systeem toe te voegen, te wachten tot het klaar is, en verwijder deze vervolgens uit de scene. De ParticleSystemEffect klasse zal worden gebruikt voor dit doel
ParticleSystemEffect.h
/* * ParticleSystemEffect.h * * Auteur:. Matthew Casperson * E-mail: [email protected] * Website: http: //www.brighthub.com/hubfolio/matthew-casperson.aspx * /# ifndef PARTICLESYSTEMEFFECT_H_ # definiëren PARTICLESYSTEMEFFECT_H_ # include "PersistentFrameListener.h" class ParticleSystemEffect: public PersistentFrameListener {public: ParticleSystemEffect (); ~ ParticleSystemEffect (); ongeldig Startup (const Vector3 & positie, const String & particleSystemName); leegte Shutdown (); bool FrameStarted (const FrameEvent & EVT); beschermd: void InitialiseVariables (); drijven timeToLive; SceneNode * sceneNode; ParticleSystem * particleSystem;} # endif
ParticleSystemEffect.cpp
#include "ParticleSystemEffect.h" #include "GameLevel.h" #include "Utilities.h" ParticleSystemEffect :: ParticleSystemEffect () {InitialiseVariables ( );} ParticleSystemEffect :: ~ ParticleSystemEffect () {}
De inbedrijfstellingsfunctie is zeer vergelijkbaar met de inbedrijfstellingsfuncties de vijanden en wapens die het creëert een SceneNode waaraan zij een Ogre object (een deeltjessysteem hecht in dit geval )
leegte ParticleSystemEffect :: Startup (const Vector3 & positie, const String & particleSystemName) {PersistentFrameListener :: Startup ().; sceneNode = GAMELEVEL.GetPlayerSceneNode () -> createChildSceneNode (positie); particleSystem = GAMELEVEL.GetSceneManager () -> createParticleSystem (Utilities :: GetUniqueName ("ParticleSystemEffect"), particleSystemName); sceneNode-> attachObject (particleSystem);
We moeten vervolgens uit te werken hoe lang het deeltje systeem moet draaien voordat ze vanuit de level wordt verwijderd
iPhone kiezen van een telefoonnummer Part 1
- Het creëren van Combo Boxes
- Netwerk Problemen Commands
- White Space in Java
- Denken Cookies
- Perl Verwijzing naar een anonieme Subroutine
- PushButton Tutorial Series - Animation
- Integer en zweven Objecttypen in C ++
- Basic Spring Transactions
- Kies de juiste DotNet Development Services voor het creëren van kosteneffectiev…
- Inzicht in Sharepoint Gebruikers & amp; # 039; Werk Systems