*   >> Чтение Образование Статьи >> science >> programming

Создание игры 3D с Огре - Добавление эффектов

излучать частицы для. При добавлении этого значения к к продолжительности жизни отдельных частиц можно работать, как долго эффект будет работать в течение. Мы храним это значение в переменной TimeToLive

 TimeToLive = particleSystem-> getEmitter 

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

(0) -> getTimeToLive ();.} Недействительным ParticleSystemEffect :: Shutdown ( ) {sceneNode-> detachObject (ParticleSystem); GAMELEVEL.GetSceneManager () -> destroyParticleSystem (ParticleSystem); GAMELEVEL.

GetPlayerSceneNode () -> removeAndDestroyChild (sceneNode-> GetName ()); InitialiseVariables (); PersistentFrameListener :: Shutdown ();} недействительным ParticleSystemEffect :: InitialiseVariables () {TimeToLive = 0; SceneNode = NULL; ParticleSystem = NULL;.} <р> Функция FrameStarted будет отсчитывать TimeToLive переменную, и когда он достигает нуля функция отключения называется, удаление систему частиц от уровня

 BOOL ParticleSystemEffect :: FrameStarted (строительства FrameEvent & ЭВТ) {TimeToLive - = evt.

timeSinceLastFrame; если (TimeToLive <р> Так же, как врагов, оружия и других предметов, которые отвечают Огре кадров события, объекты существуют ParticleSystemEffect в бассейне, с теми, которые закончили быть в подвешенном состоянии, пока они не используются повторно. Класс ParticleSystemEffectManager поддерживает этот бассейн объектов ParticleSystemEffect. Код для создания объектов ParticleSystemEffect, хранить их в бассейне и вернуться неиспользуемые объекты так же, как соответствующий код в классах WeaponDatabase и EnemyDatabase.

На самом деле класс ParticleSystemEffectManager ничего не делает, но сохранить этот пул объектов ParticleSystemEffect. < ш>

ParticleSystemEffectManager.h

 /* * * * ParticleSystemEffectManager.h Автор: Мэтью Касперсон * E-mail: * Веб-сайт [email protected]: https://www.brighthub.com/hubfolio/matthew -casperson.aspx * /# IfNDef PARTICLESYSTEMEFFECTMANAGER_H_ # определить PARTICLESYSTEMEFFECTMANAGER_H_ # включить "ParticleSystemEffect.

h" #include "список" TYPEDEF STD :: список ParticleSystemEffectList; #define PARTICLESYSTEMEFFECTMANAGER класса ParticleSystemEffectManager :: Экземпляр () {ParticleSystemEffectManager общественности: ~ ParticleSystemEffectManager (); статическая ParticleSystemEffectManager & экземпляра () {статического экземпляра ParticleSystemEffectManager; вернуться экземпляр; } Недействительным запуска (); Выключение недействительными (); ParticleSystemEffect * GetParticl

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.