SIMPENGINE.CPP
Upload User: nthssl
Upload Date: 2022-04-05
Package Size: 25357k
Code Size: 2k
Category:

OpenCV

Development Platform:

Visual C++

  1. #define WIN32_LEAN_AND_MEAN
  2. #define WIN32_EXTRA_LEAN
  3. #include "simpengine.h"
  4. void CSimpEngine::OnPrepare()
  5. {
  6. glEnable(GL_DEPTH_TEST);
  7. glEnable(GL_SMOOTH);
  8. glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  9. glLoadIdentity();
  10. }
  11. void CSimpEngine::OnMouseDownL(float x, float y) 
  12. {
  13. if (!gameWorld->IsGameDone())
  14. gameWorld->player->FireWeapon();
  15. }
  16. void CSimpEngine::OnKeyDown(int nVirtKey)
  17. {
  18. if (!gameWorld->IsGameDone())
  19. {
  20. switch (nVirtKey)
  21. {
  22. case VK_UP:
  23. gameCamera->velocity += CVector(0,0,2.0);
  24. break;
  25. case VK_DOWN:
  26. gameCamera->velocity += CVector(0,0,-2.0);
  27. break;
  28. case VK_RIGHT:
  29. gameCamera->velocity += CVector(1.0, 0.0, 0.0);
  30. break;
  31. case VK_LEFT:
  32. gameCamera->velocity += CVector(-1.0, 0.0, 0.0);
  33. break;
  34. case VK_ESCAPE:
  35. PostQuitMessage(0);
  36. break;
  37. case VK_ADD:
  38. mouseSensitivity += 0.05f;
  39. break;
  40. case VK_SUBTRACT:
  41. mouseSensitivity -= 0.05f;
  42. if (mouseSensitivity < 0.05)
  43. mouseSensitivity = 0.05;
  44. break;
  45. default:
  46. break;
  47. }
  48. }
  49. else
  50. {
  51. if ((nVirtKey) == VK_ESCAPE)
  52. PostQuitMessage(0);
  53. }
  54. }
  55. void CSimpEngine::OnMouseMove(int deltaX, int deltaY)
  56. {
  57. if (!gameWorld->IsGameDone())
  58. {
  59. gameCamera->yaw += deltaX*mouseSensitivity;
  60. gameCamera->pitch -= deltaY*mouseSensitivity;
  61. }
  62. }
  63. void CSimpEngine::OnMouseMove(int x, int y, int centerX, int centerY)
  64. {
  65. static float oldX;
  66. static float oldY;
  67. static float yaw = 0.0f;
  68. static float pitch = 0.0f;
  69. float mX, mY;
  70. mX = (float)x;
  71. mY = (float)y;
  72. if (mX < centerX/2)
  73. gameCamera->yaw -= 0.25f*mouseSensitivity;
  74. if (mX > centerX/2)
  75. gameCamera->yaw += 0.25f*mouseSensitivity;
  76. if (mY < centerY/2)
  77. gameCamera->pitch += 0.25f*mouseSensitivity;
  78. if (mY > centerY/2)
  79. gameCamera->pitch -= 0.25f*mouseSensitivity;
  80. oldX = mX;
  81. oldY = mY;
  82. }