Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. void MazeWidget::keyPressEvent(QKeyEvent * event)
  2. {
  3. switch(event->key())
  4. {
  5. case Qt::Key_Up:
  6. {
  7. x += lx * movement;
  8. z += lz * movement;
  9. gluLookAt(x, 2.0, z, x+lx, 2.0+ly, z+lz, 0.0, 1.0, 0.0);
  10. break;
  11. }
  12.  
  13.  
  14. case Qt::Key_Down:
  15. {
  16. x -= lx * movement;
  17. z -= lz * movement;
  18. gluLookAt(x, 2.0, z, x+lx, 2.0+ly, z+lz, 0.0, 1.0, 0.0);
  19. break;
  20. }
  21.  
  22. case Qt::Key_Left:
  23. {
  24. angle -= 0.05;
  25. lx = sin(angle);
  26. lz = -cos(angle);
  27. gluLookAt(x, 2.0, z, x+lx, 2.0+ly, z+lz, 0.0, 1.0, 0.0);
  28. break;
  29. }
  30.  
  31. case Qt::Key_Right:
  32. {
  33. angle += 0.05;
  34. lx = sin(angle);
  35. lz = -cos(angle);
  36. gluLookAt(x, 2.0, z, x+lx, 2.0+ly, z+lz, 0.0, 1.0, 0.0);
  37. break;
  38. }
  39.  
  40.  
  41. // Sortie de l'application
  42. case Qt::Key_Escape:
  43. {
  44. exit(0);
  45. }
  46. break;
  47.  
  48. // Cas par defaut
  49. default:
  50. {
  51. // Ignorer l'evenement
  52. event->ignore();
  53. return;
  54. }
  55. }
  56.  
  57. // Acceptation de l'evenement et mise a jour de la scene
  58. event->accept();
  59. updateGL();
  60. }
  61.  
  62.  
  63. float movement = 1.0;
  64.  
  65. float angle=0.0;
  66.  
  67. float lx=1.0f,lz=1.0f,ly = 0.0 ;
  68.  
  69. float x=3.0f,z=3.0f;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement