1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #include "DeadPlayer.h"
- #include "../Define.h"
- #include <Textur2D.h>
- #include <Bild.h>
- DeadPlayer::DeadPlayer( Model2DData *mda, Model2DData *mdb, Punkt posa, Punkt posb, Vertex speedA, Vertex speedB, float curRotA, float curRotB, float rotA, float rotB, Textur2D *zTextur )
- {
- m2a = new Model2D();
- m2a->setModel( mda );
- m2a->setPosition( posa );
- m2a->setStyle( Model2D::Style::Sichtbar | Model2D::Style::Textur | Model2D::Style::Alpha );
- m2a->setTextur( zTextur->getThis() );
- m2a->setDrehung( curRotA );
- m2b = new Model2D();
- m2b->setModel( mdb );
- m2b->setPosition( posb );
- m2b->setStyle( Model2D::Style::Sichtbar | Model2D::Style::Textur | Model2D::Style::Alpha );
- m2b->setTextur( zTextur->getThis() );
- m2b->setDrehung( curRotB );
- this->speedA = speedA;
- this->speedB = speedB;
- this->rotA = rotA;
- this->rotB = rotB;
- alpha = 255;
- ref = 1;
- }
- DeadPlayer::~DeadPlayer()
- {
- m2a->release();
- m2b->release();
- }
- void DeadPlayer::render( Bild &zRObj )
- {
- zRObj.setAlpha( (unsigned char)alpha );
- m2a->render( zRObj );
- m2b->render( zRObj );
- zRObj.releaseAlpha();
- }
- bool DeadPlayer::tick()
- {
- m2a->addDrehung( rotA * (float)TICK );
- m2b->addDrehung( rotB * (float)TICK );
- m2a->setPosition( m2a->getPosition() + speedA * (float)TICK );
- m2b->setPosition( m2b->getPosition() + speedB * (float)TICK );
- alpha -= TICK * 15;
- if( alpha < 0 )
- {
- alpha = 0;
- return 1;
- }
- return 0;
- }
- DeadPlayer *DeadPlayer::getThis()
- {
- ref++;
- return this;
- }
- DeadPlayer *DeadPlayer::release()
- {
- if( !--ref )
- delete this;
- return 0;
- }
|