ClavierCtrl.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include "ClavierCtrl.h"
  2. ClavierCtrl::ClavierCtrl(InputAndJoy* input)
  3. :HardCtrl(input)
  4. {
  5. //ctor
  6. }
  7. ClavierCtrl::~ClavierCtrl()
  8. {
  9. //dtor
  10. }
  11. void ClavierCtrl::update()
  12. {
  13. /// Gestion des changements de clavier Linux/Windows
  14. #ifdef WIN32
  15. #define PKEY_A SDLK_q
  16. #define PKEY_Q SDLK_a
  17. #define PKEY_Z SDLK_w
  18. #else
  19. #define PKEY_A SDLK_a
  20. #define PKEY_Q SDLK_q
  21. #define PKEY_Z SDLK_z
  22. #endif
  23. /// Deplacement
  24. m_mvt.setVecteur(0.0f, 0.0f);
  25. if ( m_input->getTouche(PKEY_Z) ) m_mvt.setY(1.0f);
  26. if ( m_input->getTouche(PKEY_Q) ) m_mvt.setX(-1.0f);
  27. if ( m_input->getTouche(SDLK_s) ) m_mvt.setY(-1.0f);
  28. if ( m_input->getTouche(SDLK_d) ) m_mvt.setX(1.0f);
  29. m_mvt.normaliser();
  30. /// Visee
  31. m_visee.setVecteur( m_input->getX() - m_input->getWinHalfW(), m_input->getWinHalfH() - m_input->getY() );
  32. /// Tir
  33. m_tir[ L_HAND ] = m_input->getBoutonSouris(1); // 1 = clic gauche
  34. m_tir[ R_HAND ] = m_input->getBoutonSouris(3); // 0 = clic droit
  35. /// Recherche
  36. m_search[ L_HAND ] = m_input->getTouche(PKEY_A);
  37. m_search[ R_HAND ] = m_input->getTouche(SDLK_e);
  38. /// Craft
  39. m_craft = m_input->getTouche(SDLK_c);
  40. }