CbuttonPicture.cpp
上传用户:jalin138
上传日期:2022-02-12
资源大小:5720k
文件大小:1k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. #include "CbuttonPicture.h"
  2. CbuttonPicture::CbuttonPicture(hgeSprite *_spr, 
  3.    float _tex, 
  4.    float _tey, 
  5.    float _tew, 
  6.    float _teh,
  7.    float _size )
  8. {
  9. m_pSpr = _spr;
  10. m_texRect.x1 = _tex;
  11. m_texRect.y1 = _tey;
  12. m_texRect.x2 = _tew / 2.0f;
  13. m_texRect.y2 = _teh;
  14. m_fsize = _size;
  15. m_bIn = false;
  16. }
  17. CbuttonPicture::~CbuttonPicture(void)
  18. {
  19. m_pSpr = NULL;
  20. }
  21. bool CbuttonPicture::Logic(float _x, float _y)
  22. {
  23. m_fX = _x;
  24. m_fY = _y;
  25. m_Rect.x1 = _x; 
  26. m_Rect.y1 = _y;
  27. m_Rect.x2 = _x + m_texRect.x2*m_fsize;
  28. m_Rect.y2 = _y + m_texRect.y2*m_fsize;
  29. if ( g_Hge->Input_IsMouseOver() )
  30. {
  31. float mt_mouseX = 0.0f, mt_mouseY = 0.0f;
  32. g_Hge->Input_GetMousePos( &mt_mouseX, &mt_mouseY );
  33. if ( m_Rect.TestPoint(mt_mouseX, mt_mouseY) )
  34. {
  35. m_bIn = true;
  36. if ( g_Hge->Input_KeyUp(HGEK_LBUTTON) )
  37. return true;
  38. return false;
  39. }
  40. m_bIn = false;
  41. }
  42. return false;
  43. }
  44. void CbuttonPicture::Render(void)
  45. {
  46. float mt_texX = 0.0f;
  47. m_bIn == false ? mt_texX = 0.0f : mt_texX = m_texRect.x2;
  48. m_pSpr->SetTextureRect( m_texRect.x1+mt_texX,
  49. m_texRect.y1,
  50. m_texRect.x2,
  51. m_texRect.y2 );
  52. m_pSpr->RenderEx( m_fX,
  53.   m_fY,
  54.   0.0f,
  55.   m_fsize,
  56.   m_fsize );
  57. }