Advertisement
Guest User

obj_menu

a guest
Apr 12th, 2015
513
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ////obj_menu
  2. ///Create Event
  3. //This object should be placed in the room which contains the main menu
  4.  
  5. //Which menu is "on"
  6. menu1_place = true; //Default Menu
  7. menu2_place = false; //Load Save Files
  8. menu3_place = false; //Options
  9. menu4_place = false; //Level Select, for Dev Only
  10.  
  11. //Menu Arrays "One Dimensional Array" A multi dimensional array would be like menu[0,1]
  12. menu[0] = "New Game";
  13. menu[1] = "Load Game";
  14. menu[2] = "Options";
  15. menu[3] = "Place Holders";
  16. menu[4] = "Exit Game";
  17.  
  18. //Load Game
  19. menu2[0] = "Save File 1"; //Each one needs a replacement if statement, check if there is a file
  20. menu2[1] = "Save File 2"; //Another idea is to place blank save files by default that are named "Save File XX"
  21. menu2[2] = "Save File 3"; //Then replace the current string with "whatever file name is"
  22. menu2[3] = "Return";
  23.  
  24. space = 64; //The space in pixels between each array string
  25. space2 = 72; //The space in pixels bteween each array string in the Load Game menu
  26.  
  27. mpos = 0; //Menu Position
  28. mpos2 = 0; //Menu Position in Load Game menu
  29.  
  30. ///Step Event
  31. player_enter = ((keyboard_check_pressed(vk_enter))) or (gamepad_button_check_pressed(0, gp_face1))
  32. player_up = ((keyboard_check_pressed(vk_up))) or (gamepad_button_check_pressed(0, gp_padu))
  33. player_down = ((keyboard_check_pressed(vk_down))) or (gamepad_button_check_pressed(0, gp_padd))
  34.  
  35. var move = 0;
  36. var move2 = 0;
  37.  
  38. if (menu1_place == true)
  39. {
  40. move -= max(player_up,0);
  41. move += max(player_down,0);
  42. mpos2 = 100;
  43. }
  44. else if (menu2_place == true)
  45. {
  46. move2 -= max(player_up,0);
  47. move2 += max(player_down,0);
  48. mpos = 100;
  49. }
  50.  
  51. if (move != 0) && (menu1_place == true)
  52. {
  53.     mpos += move;
  54.     if (mpos < 0) mpos = array_length_1d(menu) - 1; //Returns the number of items in our 1 dimensional array
  55.     if (mpos > array_length_1d(menu) - 1) mpos = 0; //Reset menu position to 0, because 0 is always the first entry
  56. }
  57.  
  58. if (move2 != 0) && (menu2_place == true)
  59. {
  60.     mpos2 += move2;
  61.     if (mpos2 < 0) mpos2 = array_length_1d(menu2) - 1; //Returns the number of items in our 1 dimensional array
  62.     if (mpos2 > array_length_1d(menu2) - 1) mpos2 = 0; //Reset menu position to 0, because 0 is always the first entry
  63. }
  64.  
  65.  
  66. if (player_enter) src_menu();
  67.  
  68. ///Draw Event
  69. draw_set_halign(fa_left);
  70. draw_set_valign(fa_middle);
  71. draw_set_font(Arial);
  72. draw_set_colour(c_white);
  73.  
  74. if (menu1_place = true)
  75. {
  76. var m;
  77. for (m = 0; m < array_length_1d(menu); m += 1)
  78. {
  79.     draw_text(x + space, y + (m * space), string(menu[m]))
  80. }
  81. }
  82.     else if (menu2_place = true)
  83. {
  84. var m;
  85. for (m = 0; m < array_length_1d(menu2); m += 1)
  86. {
  87.     draw_text(x + space2, y + (m * space2), string(menu2[m]))
  88. }
  89. }
  90.  
  91. if (menu1_place = true)
  92. {
  93. draw_sprite(sprite_index, 0, x + 16, y + mpos * space);
  94. }
  95.     else if (menu2_place = true)
  96. {
  97. draw_sprite(sprite_index, 0, x + 16, y + mpos2 * space2);
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement