menu.js 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. /*
  2. var menuState = {
  3. create: function(){},
  4. func_loadGame: function(){},
  5. ---------------------------- end of phaser functions
  6. func_showTitle: function(){},
  7. func_clearTitle: function(){},
  8. }
  9. */
  10. var menuState = {
  11. // creating game menu screen assets
  12. create: function() {
  13. // BACKGROUND
  14. // Floor
  15. for(var i=0;i<9;i++){
  16. game.add.image(i*100, 501, 'floor');
  17. }
  18. // LABELS
  19. // Player name
  20. var player_info = game.add.text(this.game.world.centerX, 40, lang.welcome + ", " + username + "!", { font: "20px Arial", fill: "#330000", align: "center" });
  21. player_info.anchor.setTo(0.5,0.5);
  22. // Title : Select a game
  23. var style = { font: "32px Arial", fill: "#00804d", align: "center" };
  24. var title = game.add.text(this.game.world.centerX, 80, lang.menu_title, style);
  25. title.anchor.setTo(0.5,0.5);
  26. // Subtitle : Game mode
  27. var style_game = { font: "27px Arial", fill: "#003cb3", align: "center" };
  28. var lbl_game = game.add.text(this.game.world.centerX, 110, "", style_game);
  29. lbl_game.anchor.setTo(0.5,0.5);
  30. // BUTTONS
  31. // Navigation buttons
  32. buttonSettings["func_addButtons"](0,1,
  33. 0,0,0,
  34. 1,1,
  35. 0,0);
  36. // Game buttons
  37. menu1 = game.add.sprite(this.game.world.centerX - 350, this.game.world.centerY - 70, 'game1s');
  38. menu2 = game.add.sprite(this.game.world.centerX - 200, this.game.world.centerY - 70, 'game2s');
  39. menu3 = game.add.sprite(this.game.world.centerX - 350, this.game.world.centerY + 90, 'game3s');
  40. menu4 = game.add.sprite(this.game.world.centerX - 200, this.game.world.centerY + 90, 'game4s');
  41. menu5 = game.add.sprite(this.game.world.centerX + 10, this.game.world.centerY - 70, 'game1c');
  42. menu6 = game.add.sprite(this.game.world.centerX + 160, this.game.world.centerY - 70, 'game2c');
  43. menu7 = game.add.sprite(this.game.world.centerX + 10, this.game.world.centerY + 90, 'game3c');
  44. menu8 = game.add.sprite(this.game.world.centerX + 160, this.game.world.centerY + 90, 'game4c');
  45. menu9 = game.add.sprite(this.game.world.centerX + 350, this.game.world.centerY - 70, 'game5s');
  46. // ACTIONS
  47. // Game Button actions
  48. menu1.anchor.setTo(0.5, 0.5);
  49. menu1.inputEnabled = true;
  50. menu1.input.useHandCursor = true;
  51. menu1.events.onInputDown.add(this.func_loadGame,{levelType:1, beep: beepSound, shape : "Square", label : true});
  52. menu1.events.onInputOver.add(this.func_showTitle,{levelType:1, beep: beepSound, shape : "Square", label : true, menu: menu1, lbl_game: lbl_game});
  53. menu1.events.onInputOut.add(this.func_clearTitle, {menu: menu1, lbl_game: lbl_game});
  54. menu2.anchor.setTo(0.5, 0.5);
  55. menu2.inputEnabled = true;
  56. menu2.input.useHandCursor = true;
  57. menu2.events.onInputDown.add(this.func_loadGame,{levelType:1, beep: beepSound, shape : "Square", label : false});
  58. menu2.events.onInputOver.add(this.func_showTitle,{levelType:1, beep: beepSound, shape : "Square", label : false, menu: menu2, lbl_game: lbl_game});
  59. menu2.events.onInputOut.add(this.func_clearTitle, {menu: menu2, lbl_game: lbl_game});
  60. menu3.anchor.setTo(0.5, 0.5);
  61. menu3.inputEnabled = true;
  62. menu3.input.useHandCursor = true;
  63. menu3.events.onInputDown.add(this.func_loadGame,{levelType:2, beep: beepSound, shape : "Square", label : true});
  64. menu3.events.onInputOver.add(this.func_showTitle,{levelType:2, beep: beepSound, shape : "Square", label : true, menu: menu3, lbl_game: lbl_game});
  65. menu3.events.onInputOut.add(this.func_clearTitle, {menu: menu3, lbl_game: lbl_game});
  66. menu4.anchor.setTo(0.5, 0.5);
  67. menu4.inputEnabled = true;
  68. menu4.input.useHandCursor = true;
  69. menu4.events.onInputDown.add(this.func_loadGame,{levelType:2, beep: beepSound, shape : "Square", label : false});
  70. menu4.events.onInputOver.add(this.func_showTitle,{levelType:2, beep: beepSound, shape : "Square", label : false, menu: menu4, lbl_game: lbl_game});
  71. menu4.events.onInputOut.add(this.func_clearTitle, {menu: menu4, lbl_game: lbl_game});
  72. menu5.anchor.setTo(0.5, 0.5);
  73. menu5.inputEnabled = true;
  74. menu5.input.useHandCursor = true;
  75. menu5.events.onInputDown.add(this.func_loadGame,{levelType:1, beep: beepSound, shape : "Circle", label : true});
  76. menu5.events.onInputOver.add(this.func_showTitle,{levelType:1, beep: beepSound, shape : "Circle", label : true, menu: menu5, lbl_game: lbl_game});
  77. menu5.events.onInputOut.add(this.func_clearTitle, {menu: menu5, lbl_game: lbl_game});
  78. menu6.anchor.setTo(0.5, 0.5);
  79. menu6.inputEnabled = true;
  80. menu6.input.useHandCursor = true;
  81. menu6.events.onInputDown.add(this.func_loadGame,{levelType:1, beep: beepSound, shape : "Circle", label : false});
  82. menu6.events.onInputOver.add(this.func_showTitle,{levelType:1, beep: beepSound, shape : "Circle", label : false, menu: menu6, lbl_game: lbl_game});
  83. menu6.events.onInputOut.add(this.func_clearTitle, {menu: menu6, lbl_game: lbl_game});
  84. menu7.anchor.setTo(0.5, 0.5);
  85. menu7.inputEnabled = true;
  86. menu7.input.useHandCursor = true;
  87. menu7.events.onInputDown.add(this.func_loadGame,{levelType:2, beep: beepSound, shape : "Circle", label : true});
  88. menu7.events.onInputOver.add(this.func_showTitle,{levelType:2, beep: beepSound, shape : "Circle", label : true, menu: menu7, lbl_game: lbl_game});
  89. menu7.events.onInputOut.add(this.func_clearTitle, {menu: menu7, lbl_game: lbl_game});
  90. menu8.anchor.setTo(0.5, 0.5);
  91. menu8.inputEnabled = true;
  92. menu8.input.useHandCursor = true;
  93. menu8.events.onInputDown.add(this.func_loadGame,{levelType:2, beep: beepSound, shape : "Circle", label : false});
  94. menu8.events.onInputOver.add(this.func_showTitle,{levelType:2, beep: beepSound, shape : "Circle", label : false, menu: menu8, lbl_game: lbl_game});
  95. menu8.events.onInputOut.add(this.func_clearTitle, {menu: menu8, lbl_game: lbl_game});
  96. menu9.anchor.setTo(0.5, 0.5);
  97. menu9.inputEnabled = true;
  98. menu9.input.useHandCursor = true;
  99. menu9.events.onInputDown.add(this.func_loadGame,{levelType:3, beep: beepSound, shape : "Square", label : true});
  100. menu9.events.onInputOver.add(this.func_showTitle,{levelType:3, beep: beepSound, shape : "Square", label : true, menu: menu9, lbl_game: lbl_game});
  101. menu9.events.onInputOut.add(this.func_clearTitle, {menu: menu9, lbl_game: lbl_game});
  102. },
  103. //calls the selected game menu screen
  104. func_loadGame: function(){
  105. if(audioStatus){
  106. this.beep.play();
  107. }
  108. levelShape = this.shape;
  109. levelLabel = this.label;
  110. if(this.shape=="Square"){
  111. if(this.levelType==1 || this.levelType==2){
  112. if(this.levelType==1){
  113. levelType = "A";
  114. }else if(this.levelType==2){
  115. levelType = "B";
  116. }
  117. if(debugMode) console.log("Square One");
  118. game.state.start('menuSquareOne');
  119. }else if(this.levelType==3){
  120. levelType = "C";
  121. if(debugMode) console.log("Square Two, "+levelType);
  122. game.state.start('menuSquareTwo')
  123. }
  124. }else if(this.shape=="Circle"){
  125. if (this.levelType==1){
  126. levelType = "A";
  127. }else if (this.levelType==2){
  128. levelType = "B";
  129. }
  130. if(debugMode) console.log("Circle One");
  131. game.state.start('menuCircleOne');
  132. }
  133. },
  134. func_showTitle: function(){
  135. var title = "";
  136. var type = "";
  137. if(this.levelType==1){
  138. type = "I";
  139. }
  140. if(this.levelType==2){
  141. type = "II";
  142. }
  143. if(this.levelType==3){
  144. type = "III";
  145. }
  146. if(this.shape=="Circle"){
  147. title += lang.circle_name;
  148. }else if(this.shape=="Square"){
  149. title += lang.square_name;
  150. }
  151. if(type!=""){
  152. //circ/quad A/B/C
  153. title += " " + type;
  154. }
  155. if(this.label){
  156. //- sem/com legendas
  157. title += " - " + lang.with_name + " " + lang.label_name;
  158. }else{
  159. title += " - " + lang.without_name + " " + lang.label_name;
  160. }
  161. this.lbl_game.text = title;
  162. this.menu.scale.setTo(1.05);
  163. },
  164. func_clearTitle: function(){
  165. this.lbl_game.text = "";
  166. this.menu.scale.setTo(1);
  167. }
  168. };