*   >> läser Utbildning artiklar >> science >> programming

Att göra en 3D-spel med Ogre - Lägga Effects

rticleSystemEffect (); ParticleSystemEffectList particleSystemEffectList;}; # endif

ParticleSystemEffectManager.cpp Omdömen

 #include "ParticleSystemEffectManager.h"ParticleSystemEffectManager::ParticleSystemEffectManager(){}ParticleSystemEffectManager::~ParticleSystemEffectManager(){}void ParticleSystemEffectManager :: Startup () {} void ParticleSystemEffectManager :: avstängning () {för (ParticleSystemEffectList :: iterator iter = particleSystemEffectList.begin (); iter = particleSystemEffectList.

end ();! ++ Iter) {ParticleSystemEffect * effekt = * iter ; if (effekt-> IsStarted ()) effekt-> Shutdown (); radera effekt; } ParticleSystemEffectList.clear ();} ParticleSystemEffect * ParticleSystemEffectManager :: GetParticleSystemEffect () {för (ParticleSystemEffectList :: iterator iter = particleSystemEffectList.begin (); iter = particleSystemEffectList.end ();! ++ Iter) {ParticleSystemEffect * effekt = * iter; if (! effekt-> IsStarted ()) retureffekt; } ParticleSystemEffect * effekt = CreateParticleSystemEffect (); particleSystemEffectList.

push_back (effekt); retur effekt;} ParticleSystemEffect * ParticleSystemEffectManager :: CreateParticleSystemEffect () {return ny ParticleSystemEffect ();}

För att visa en partikelsystemet effekt för explosionen skapar vi starta en ParticleSystemEffect objekt när en fiende är avstängd. Vi spelar också en explosion ljudeffekt. Den nya dödade parametern låter avstängning funktionen veta om fienden tas bort från nivån eftersom det förstördes, eller på grund av att nivån i sig är att vara avstängning (i vilket fall vi inte vill lägga några effekter).

Omdömen < pre> void Enemy :: avstängning (const Bool dödad) {if (dödad) {PARTICLESYSTEMEFFECTMANAGER.GetParticleSystemEffect () -> Startup (enemySceneNode-> getPosition (), EXPLOSION_PARTICLE_SYSTEM); IRRKLANGENGINEMANAGER.GetSoundEngine () -> play2D (EXPLOSION_SOUND); } GAMELEVEL.GetPlayerSceneNode () -> removeAndDestroyChild (enemySceneNode-> getName ()); InitialiseVariables (); CollisionObject :: avstängning (),.

}

Liknande kodändringar har genomförts i Weapon klassen för att visa en liten vapen slog effekt Omdömen

Omdömen

Page   <<  [1] [2] [3] 
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.