Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2013
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. void EventMenu (ALLEGRO_EVENT_QUEUE * event_queue,bool & jeMenu,bool & redraw)
  2. {
  3. al_start_timer (timerMenu);
  4. while(jeMenu)
  5. {
  6. ALLEGRO_EVENT ev;
  7. ALLEGRO_TIMEOUT timeout;
  8. al_init_timeout(&timeout, 1.0/60);
  9.  
  10. bool get_event = al_wait_for_event_until(event_queue, &ev, &timeout);
  11. if (get_event && ev.type==ALLEGRO_EVENT_TIMER)
  12. {
  13. if (key[KEYLEFT])
  14. KulickuDoleva ();
  15. if (key[KEYRIGHT])
  16. KulickuDoprava ();
  17. redraw=true;
  18. }
  19. if(get_event && ev.type == ALLEGRO_EVENT_DISPLAY_CLOSE) {
  20. exit (0);
  21. }
  22. else if (get_event && ev.type==ALLEGRO_EVENT_KEY_UP)
  23. {
  24. switch (ev.keyboard.keycode)
  25. {
  26. case ALLEGRO_KEY_RIGHT:
  27. key[KEYRIGHT]=false;
  28. DotocDoprava ();
  29. break;
  30. case ALLEGRO_KEY_LEFT:
  31. key[KEYLEFT]=false;
  32. DotocDoleva ();
  33. break;
  34. }
  35. }
  36. else if (get_event && ev.type==ALLEGRO_EVENT_KEY_DOWN)
  37. {
  38. switch (ev.keyboard.keycode)
  39. {
  40. case ALLEGRO_KEY_DOWN:
  41. VyberDolu ();
  42. break;
  43. case ALLEGRO_KEY_UP:
  44. VyberNahoru ();
  45. break;
  46. case ALLEGRO_KEY_LEFT:
  47. key[KEYLEFT]=true;
  48. break;
  49. case ALLEGRO_KEY_RIGHT:
  50. key[KEYRIGHT]=true;
  51. break;
  52. case ALLEGRO_KEY_ESCAPE:
  53. jsouTitulky=false;
  54. DrawMenu ();
  55. break;
  56. case ALLEGRO_KEY_ENTER:
  57. jsouTitulky=true;
  58. if (poziceMenu==0)
  59. {
  60. StartGame ();
  61. }
  62. else
  63. {
  64. try {
  65. Titulky ();
  66. }
  67. catch (string error)
  68. {
  69. WriteError (error);
  70. }
  71. }
  72. break;
  73.  
  74. }
  75. }
  76. if (jsouTitulky==false)
  77. {
  78.  
  79. if (redraw && al_is_event_queue_empty(event_queue))
  80. {
  81. PosunKostky ();
  82. }
  83. }
  84. }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement