Download demoen og kildekode FOR WINDOWS
Download demoen og kildekode til Linux
TILBAGE TIL tutorial INDEX
Med kollisionsdetektion op og køre det er nu muligt at ødelægge fjender. Effekten er lidt utilfredsstillende men fordi de simpelthen forsvinde. Vi kan bruge en partikel system til en eksplosion, men som standard partikel systemer i Ogre er designet til at være permanente effekter, dvs når de er tilføjet til scenen en partikel-system vil vise sin virkning, indtil den fjernes.
Da en eksplosion er en one off "bang", vi har brug for en måde at tilføje en partikel-system, skal du vente til den er færdig, og derefter fjerne det fra scenen. Den ParticleSystemEffect klasse vil blive anvendt til dette formål
ParticleSystemEffect.h
/* * ParticleSystemEffect.h * * Forfatter:. Matthew Casperson * E-mail: [email protected] * Hjemmeside: http: //www.brighthub.com/hubfolio/matthew-casperson.aspx * /# ifndef PARTICLESYSTEMEFFECT_H_ # definerer PARTICLESYSTEMEFFECT_H_ # omfatte "PersistentFrameListener.h" klasse ParticleSystemEffect: offentlig PersistentFrameListener {public: ParticleSystemEffect (); ~ ParticleSystemEffect (); ugyldiggøre Startup (const Vector3 & position, const String & particleSystemName); void Shutdown (); bool FrameStarted (const FrameEvent & EVT), beskyttet: void InitialiseVariables (); flyde timeToLive; SceneNode * sceneNode; ParticleSystem * particleSystem,}; # endif
ParticleSystemEffect.cpp Salg
#include "ParticleSystemEffect.h" # include "GameLevel.h" # include "Utilities.h" ParticleSystemEffect :: ParticleSystemEffect () {InitialiseVariables ( );} ParticleSystemEffect :: ~ ParticleSystemEffect () {}
Start funktion er meget lig de Startup funktioner til fjender og våben i, at det skaber en SceneNode, som det tillægger en Ogre objekt (en partikel-system i dette tilfælde )
ugyldig ParticleSystemEffect :: Startup (const Vector3 & position, const String & particleSystemName) {PersistentFrameListener :: Startup (.); sceneNode = GAMELEVEL.GetPlayerSceneNode () -> createChildSceneNode (position); particleSystem = GAMELEVEL.GetSceneManager () -> createParticleSystem (Hjælpeprogrammer :: GetUniqueName ("ParticleSystemEffect"), particleSystemName); sceneNode-> attachObject (particleSystem)
Vi derefter nødt til at arbejde ud af, hvor længe partiklen bør køre i, inden den fjernes fra det niveau. Varigheden ejendom emitter definerer, hvor længe en partikel bør udsen
iPhone Opkald til et telefonnummer Del 1
- Trådløs konfiguration i 615 D-link
- Pseudo-Types i PHP
- Søg Forholdene i Sybase SQL Statements
- Sådan adgang til og bruge en Windows-kommando line
- Network Security Management for store offentlige, skole, virksomheder og Homes
- Programmering: Design og Planning
- C ++ Basic Input Og Output
- Hvad er en Programmable Logic Controller (PLC)? Hvad er en Programmable Logic Co…
- Oprettelse JavaScript objekter ved Literal Notation
- Oprettelse af en levende Twitter statusopdatering med YQL og JavaScript