Icones.cpp 1016 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "Icones.h"
  2. Icones::Icones(int x, int y, int choixArme,std::string armeAssignee, SDL_Surface* ecran, Joueur* lanceur) : m_ecran(ecran),proprio(lanceur),m_armeAssignee(armeAssignee)
  3. {
  4. m_positionIcone.x=x;
  5. m_positionIcone.y=y;
  6. switch (choixArme)
  7. {
  8. case 0:
  9. imageIcone=SDL_LoadBMP("IconeBaroudeur.bmp");
  10. break;
  11. case 1:
  12. imageIcone=SDL_LoadBMP("IconeUsiane.bmp");
  13. break;
  14. case 2:
  15. imageIcone=SDL_LoadBMP("IconeTriphaseur.bmp");
  16. break;
  17. }
  18. }
  19. Icones::~Icones()
  20. {
  21. SDL_FreeSurface(imageIcone);
  22. }
  23. void Icones::afficher()
  24. {
  25. if (Cliquable::m_tempsFire==0)
  26. {
  27. this->clic();
  28. }
  29. SDL_BlitSurface(imageIcone,0,m_ecran,&m_positionIcone);
  30. }
  31. void Icones::clic()
  32. {
  33. /*Teste si le click est sur l'icone, puis fait l'assignation de l'arme.*/
  34. if (Cliquable::m_yFire>m_positionIcone.y&&Cliquable::m_yFire<(m_positionIcone.y+m_positionIcone.h))
  35. {
  36. if (Cliquable::m_xFire>m_positionIcone.x&&Cliquable::m_xFire<(m_positionIcone.x+m_positionIcone.w))
  37. {
  38. proprio->setArme(m_armeAssignee);
  39. }
  40. }
  41. }