Bouton.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include "Bouton.h"
  2. Bouton::Bouton(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("Images/IconeBaroudeur.bmp");
  10. break;
  11. case 1:
  12. imageIcone=SDL_LoadBMP("Images/IconeUsiane.bmp");
  13. break;
  14. case 2:
  15. imageIcone=SDL_LoadBMP("Images/IconeTriphaseur.bmp");
  16. break;
  17. }
  18. }
  19. Bouton::~Bouton()
  20. {
  21. SDL_FreeSurface(imageIcone);
  22. }
  23. void Bouton::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 Bouton::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)
  35. {
  36. if (Cliquable::m_xFire>m_positionIcone.x&&Cliquable::m_xFire<(m_positionIcone.x+140))
  37. {
  38. proprio->setArme(m_armeAssignee);
  39. }
  40. }
  41. }