Partikel Klassenreferenz

Partikel werden fuer die Darstellung von Feuer, Rauch, Funken, Regen usw. verwendet. Typ. wird ein Partikel durch ein 2D-Objekt repraesentiert, dem eine semitransparente Bitmap (hier Sprite genannt) fuer die Darstellung zugeordnet ist. Partikel koennen sich bewegen oder auch stationaer zein (Blinklichter). Sie haben eine Emitter, einen Lebenszyklus und noch ein paar weitere Attribute. Um 'realistische' Bewegungsablaeufe zu simulieren, wird stark mit Zufallswerten gearbeitet. Mehr ...

#include <Partikel.h>

Klassendiagramm für Partikel:

Object2D

Aufstellung aller Elemente

Öffentliche Typen

enum  ACTION { RESPAWN_AT_EMITTER = 0, NO_RESPAWN = 1, RESPAWN_REFLECTON = 2 }
enum  LIFECYCLE {
  IS_OFF = 0, IS_ON = 1, SWITCH_OFF = 2, SWITCH_ON = 3,
  IS_DEAD = 4
}

Öffentliche Methoden

 Partikel (int zone, int action)
 Konstruktor.
virtual ~Partikel ()
 Destruktor.
void setMotion (Vec &startpos, Vec &velocity, Vec &force)
 Setter fuer die Bewegungsparameter.
void setMotion (Vec &startpos, Vec &randomMin, Vec &randomMax, float speed, Vec &force)
 Setter fuer die Bewegungsparameter.
void setONtime (int ontime)
 Setter fuer die Aktive Zeit.
void setOFFtime (int offtime)
 Setter fuer die Passive Zeit.
float getONtime ()
 Getter fuer die AKTIVE Zeit.
void setFading (bool fading)
 Richtungsvektor fuer die Bewegung.
void setROLLtime (int rolltime)
 Richtungsvektor fuer die Bewegung.
void animate (void)
 Animiert dieses Partikel.
bool isON (void)
 Liefert ON/OFF Status des Partikels.
void addSprite (Sprite *sprite)
 Fuegt ein Sprite an das Partikel an.
void querySprite (void)
 Richtungsvektor fuer die Bewegung.

Öffentliche Attribute

bool m_isScale
bool m_isFading
Spritem_sprite

Private Methoden

void calcVelocity (void)
 Berechnet die Bewegung.
int refreshStatus (void)
 Liefert der Refreshstatus.

Private Attribute

int m_zone
Vec m_emitterPos
Vec m_velocity
Vec m_randomMin
Vec m_randomMax
Vec m_force
float m_frames
bool m_useSpeed
float m_speed
unsigned long m_ONtime
unsigned long m_ONstart
unsigned long m_OFFtime
unsigned long m_OFFstart
unsigned long m_ROLLtime
unsigned long m_ROLLstart
int m_status
int m_action
int m_spriteCount
Spritem_spriteOrg [50]
int m_currSpriteID


Ausführliche Beschreibung

Partikel werden fuer die Darstellung von Feuer, Rauch, Funken, Regen usw. verwendet. Typ. wird ein Partikel durch ein 2D-Objekt repraesentiert, dem eine semitransparente Bitmap (hier Sprite genannt) fuer die Darstellung zugeordnet ist. Partikel koennen sich bewegen oder auch stationaer zein (Blinklichter). Sie haben eine Emitter, einen Lebenszyklus und noch ein paar weitere Attribute. Um 'realistische' Bewegungsablaeufe zu simulieren, wird stark mit Zufallswerten gearbeitet.

Bewegung:

Bei linearer Bewegung:


Dokumentation der Aufzählungstypen

Aufzählungswerte:
RESPAWN_AT_EMITTER 
NO_RESPAWN 
RESPAWN_REFLECTON 

Aufzählungswerte:
IS_OFF 
IS_ON 
SWITCH_OFF 
SWITCH_ON 
IS_DEAD 


Beschreibung der Konstruktoren und Destruktoren

Partikel::Partikel ( int  zone,
int  action 
)

Konstruktor.

Parameter:
zone zoneNr, bzw zoneID
action RESPAWN_AT_EMITTER, NO_RESPAWN, RESPAWN_REFLECTON ...

Partikel::~Partikel (  )  [virtual]

Destruktor.


Dokumentation der Elementfunktionen

void Partikel::setMotion ( Vec startpos,
Vec velocity,
Vec force 
)

Setter fuer die Bewegungsparameter.

Parameter:
startpos Startposition
velocity Startgeschwindigkeit
force Kraft (z.B. Gravitationskraft)

void Partikel::setMotion ( Vec startpos,
Vec randomMin,
Vec randomMax,
float  speed,
Vec force 
)

Setter fuer die Bewegungsparameter.

Parameter:
startpos Startposition
randomMin Startposition
randomMax Startgeschwindigkeit
speed Startgeschwindigkeit
force Kraft (z.B. Gravitationskraft)

void Partikel::setONtime ( int  ontime  ) 

Setter fuer die Aktive Zeit.

Parameter:
ontime zeit im millisec.

void Partikel::setOFFtime ( int  offtime  ) 

Setter fuer die Passive Zeit.

Parameter:
offtime zeit im millisec.

float Partikel::getONtime (  ) 

Getter fuer die AKTIVE Zeit.

Rückgabe:
zeit in millisec.

void Partikel::setFading ( bool  fading  ) 

Richtungsvektor fuer die Bewegung.

Parameter:
fading Richtungsvektor

void Partikel::setROLLtime ( int  rolltime  ) 

Richtungsvektor fuer die Bewegung.

Parameter:
rolltime Richtungsvektor

void Partikel::animate ( void   ) 

Animiert dieses Partikel.

bool Partikel::isON ( void   ) 

Liefert ON/OFF Status des Partikels.

Rückgabe:
true, false

void Partikel::addSprite ( Sprite sprite  ) 

Fuegt ein Sprite an das Partikel an.

Parameter:
sprite Richtungsvektor

void Partikel::querySprite ( void   ) 

Richtungsvektor fuer die Bewegung.

void Partikel::calcVelocity ( void   )  [private]

Berechnet die Bewegung.

int Partikel::refreshStatus ( void   )  [private]

Liefert der Refreshstatus.

Rückgabe:
status


Dokumentation der Datenelemente

int Partikel::m_zone [private]

float Partikel::m_frames [private]

bool Partikel::m_useSpeed [private]

float Partikel::m_speed [private]

unsigned long Partikel::m_ONtime [private]

unsigned long Partikel::m_ONstart [private]

unsigned long Partikel::m_OFFtime [private]

unsigned long Partikel::m_OFFstart [private]

unsigned long Partikel::m_ROLLtime [private]

unsigned long Partikel::m_ROLLstart [private]

int Partikel::m_status [private]

int Partikel::m_action [private]

int Partikel::m_spriteCount [private]

Sprite* Partikel::m_spriteOrg[50] [private]

int Partikel::m_currSpriteID [private]


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:

Generated on Sun Nov 1 16:26:43 2009 for engine3d by doxygen 1.5.5