DeadPlayer.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include "DeadPlayer.h"
  2. #include "../Define.h"
  3. #include <Textur2D.h>
  4. #include <Bild.h>
  5. DeadPlayer::DeadPlayer( Model2DData *mda, Model2DData *mdb, Punkt posa, Punkt posb, Vertex speedA, Vertex speedB, float curRotA, float curRotB, float rotA, float rotB, Textur2D *zTextur )
  6. : Object2D()
  7. {
  8. m2a = new Model2DObject();
  9. m2a->setModel( mda );
  10. m2a->setPosition( posa );
  11. m2a->setTextur( zTextur->getThis() );
  12. m2a->setDrehung( curRotA );
  13. m2b = new Model2DObject();
  14. m2b->setModel( mdb );
  15. m2b->setPosition( posb );
  16. m2b->setTextur( zTextur->getThis() );
  17. m2b->setDrehung( curRotB );
  18. this->speedA = speedA;
  19. this->speedB = speedB;
  20. this->rotA = rotA;
  21. this->rotB = rotB;
  22. alpha = 255;
  23. }
  24. DeadPlayer::~DeadPlayer()
  25. {
  26. m2a->release();
  27. m2b->release();
  28. }
  29. void DeadPlayer::render( Mat3< float > &kamMat, Bild &zRObj )
  30. {
  31. zRObj.setAlpha( (unsigned char)alpha );
  32. m2a->render( kamMat, zRObj );
  33. m2b->render( kamMat, zRObj );
  34. zRObj.releaseAlpha();
  35. }
  36. bool DeadPlayer::tick( const WeltInfo &info, double zeit )
  37. {
  38. m2a->tick( info, zeit );
  39. m2b->tick( info, zeit );
  40. alpha -= zeit * 15;
  41. if( alpha < 0 )
  42. {
  43. alpha = 0;
  44. return 1;
  45. }
  46. return 0;
  47. }
  48. Rect2< float > DeadPlayer::getBoundingBox() const
  49. {
  50. return Rect2< float >();
  51. }