*   >> lukeminen koulutus Artikkelit >> science >> programming

Making 3D-peli, jossa Ogre - lisääminen Effects

asten voit treenata kuinka kauan vaikutus kestää. Tallennamme arvon timeToLive muuttuja.

 timeToLive = particleSystem-> getEmitter 

(0) -> getDuration () + particleSystem-> getEmitter

(0) -> getTimeToLive ();} void ParticleSystemEffect :: sammutus ( ) {sceneNode-> detachObject (particleSystem); GAMELEVEL.GetSceneManager () -> destroyParticleSystem (particleSystem); GAMELEVEL.

GetPlayerSceneNode () -> removeAndDestroyChild (sceneNode-> getName ()); InitialiseVariables (); PersistentFrameListener :: sammutus ();} void ParticleSystemEffect :: InitialiseVariables () {timeToLive = 0; sceneNode = NULL; particleSystem = null;}

FrameStarted toiminto laskee alas timeToLive muuttuja, ja kun se saavuttaa nollan sammutus toiminto on nimeltään, poistamalla hiukkasen järjestelmän tasolla.

 bool ParticleSystemEffect :: FrameStarted (vakio FrameEvent ja EVT) {timeToLive - = evt.

timeSinceLastFrame; jos (timeToLive

Aivan kuten vihollisia, aseita ja muita esineitä, jotka vastaavat Ogre runko tapahtumia, ParticleSystemEffect esineitä olemassa allas, jossa ne, jotka ovat valmiiksi ollessa pysäytetty, kunnes ne käytetään uudelleen. ParticleSystemEffectManager luokan ylläpitää tätä allas on ParticleSystemEffect esineitä. koodia luoda ParticleSystemEffect esineitä, tallentaa ne allas ja palauttaa käyttämättömät esineet on sama kuin vastaava koodi WeaponDatabase ja EnemyDatabase luokkiin.

Itse ParticleSystemEffectManager luokan ei mitään mutta säilyttää pooliin ParticleSystemEffect esineitä.

ParticleSystemEffectManager.h

 /* * ParticleSystemEffectManager.h * * Tekijä: Matthew Casperson * Sähköposti: [email protected] * Verkkosivusto: https://www.brighthub.com/hubfolio/matthew -casperson.aspx * /# ifndef PARTICLESYSTEMEFFECTMANAGER_H_ # määritellä PARTICLESYSTEMEFFECTMANAGER_H_ # include "ParticleSystemEffect.

h" #include "lista" typedef std :: lista ParticleSystemEffectList; #define PARTICLESYSTEMEFFECTMANAGER ParticleSystemEffectManager :: oikeusasteen () luokka ParticleSystemEffectManager {julkinen: ~ ParticleSystemEffectManager (); staattinen ParticleSystemEffectManager & oikeusasteen () {staattinen ParticleSystemEffectManager esimerkiksi; palata esimerkiksi; } Void Startup (); void sammutus (); ParticleSystemEffect * GetParticleSystemEffect (), suojattu: ParticleSystemEffectManager (); ParticleSystemEffect * CreateParticleSystemEffect (); ParticleSystemEffectList particleSystemEffectList,}, # endif

ParticleSystemEffectMan

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.