DeadPlayer.cpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. m2a->setSpeed( speedA );
  14. m2a->setDrehungSpeed( rotA );
  15. m2b = new Model2DObject();
  16. m2b->setModel( mdb );
  17. m2b->setPosition( posb );
  18. m2b->setTextur( zTextur->getThis() );
  19. m2b->setDrehung( curRotB );
  20. m2b->setSpeed( speedB );
  21. m2b->setDrehungSpeed( rotB );
  22. alpha = 255;
  23. setCollision( 0 );
  24. }
  25. DeadPlayer::~DeadPlayer()
  26. {
  27. m2a->release();
  28. m2b->release();
  29. }
  30. void DeadPlayer::render( Mat3< float > &kamMat, Bild &zRObj, const char *kamName )
  31. {
  32. zRObj.setAlpha( (unsigned char)alpha );
  33. m2a->render( kamMat, zRObj, kamName );
  34. m2b->render( kamMat, zRObj, kamName );
  35. zRObj.releaseAlpha();
  36. }
  37. bool DeadPlayer::tick( const WeltInfo &info, double zeit )
  38. {
  39. m2a->tick( info, zeit );
  40. m2b->tick( info, zeit );
  41. alpha -= zeit * 15;
  42. if( alpha < 0 )
  43. alpha = 0;
  44. return 1;
  45. }
  46. Rect2< float > DeadPlayer::getBoundingBox() const
  47. {
  48. return Rect2< float >();
  49. }
  50. bool DeadPlayer::isFinished() const
  51. {
  52. return alpha == 0;
  53. }