NextLevel.js 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. var myPlayLevelScore = "";
  2. FZ.Game.nextLevelState = new (FZ.newClass({
  3. StateName : FZ.StateDefs.GAME_STATE_NEXT_LEVEL,
  4. CUR_UI_DEFS : ["NEXT_LEVEL_BG",
  5. "NUM_STAGE_TOTAL_1","NUM_STAGE_TOTAL_2","NUM_STAGE_TOTAL_3","NUM_STAGE_TOTAL_4","NUM_STAGE_TOTAL_5",
  6. "NUM_STAGE_TOTAL_TIME_BONUS_1","NUM_STAGE_TOTAL_TIME_BONUS_2","NUM_STAGE_TOTAL_TIME_BONUS_3","NUM_STAGE_TOTAL_TIME_BONUS_4","NUM_STAGE_TOTAL_TIME_BONUS_5",
  7. "NUM_STAGE_TOTAL_HINT_1","NUM_STAGE_TOTAL_HINT_2","NUM_STAGE_TOTAL_HINT_3","NUM_STAGE_TOTAL_HINT_4","NUM_STAGE_TOTAL_HINT_5"],
  8. UI_TOTAL_SCORE_START_INDEX: 1,
  9. UI_STAGE_SCORE_START_INDEX: 6,
  10. UI_STAGE_HINT_START_INDEX: 11,
  11. BTN_NEXT_LEVEL_INDEX : 0,
  12. TOTAL_SCORE: 5,
  13. TIME_BONUS: 5,
  14. TOTAL_HINT:5,
  15. HINT_USED:5,
  16. CUR_BTN_DEFS : [["BTN_NEXT_LEVEL","BTN_NEXT_LEVEL_TOUCH"],],
  17. COLOR_YELLOW:"#F0D751",
  18. COLOR_BROWN:"#B97F00",
  19. COLOR_ORANGE:"#FFC72A",
  20. LABEL_TEXT_SIZE_SMALL:12,
  21. LABEL_TEXT_SIZE_MIDDLE:18,
  22. LABEL_TEXT_SIZE_LARGE:24,
  23. m_title_div:null,
  24. m_conten_div:null,
  25. createLabelTitleTextSprite : function(x,y,w,h, text, color) {
  26. this.m_title_div = document.createElement("div");
  27. this.m_title_div.style.width = w + "px";
  28. this.m_title_div.style.height = h + "px";
  29. this.m_title_div.style.left = x + "px";
  30. this.m_title_div.style.top = y + "px";
  31. this.m_title_div.style.position = "absolute";
  32. this.m_ui_list[0].appendChild(this.m_title_div);
  33. this.m_title_div.style.zIndex = 300;
  34. var lnH = h-2;
  35. this.m_title_div.style.textAlign = "center";
  36. this.m_title_div.style.lineHeight = Math.round(lnH) + "px";;
  37. this.m_title_div.style.fontFamily = "Arial";
  38. this.m_title_div.style.fontWeight = "bolder";
  39. this.m_title_div.style.fontSize = Math.round(h-4) + "px";
  40. // add shadow from up down left and right
  41. this.m_title_div.style.textShadow = "-1px -1px 1px #4F5100, 1px 1px 1px #4F5100, 1px -1px 1px #4F5100, -1px 1px 1px #4F5100 ";
  42. this.m_title_div.style.color = color;
  43. this.m_title_div.innerHTML = text;
  44. },
  45. createLabelContentTextSprite : function(x,y,w,h, text, color) {
  46. this.m_conten_div = document.createElement("div");
  47. this.m_conten_div.style.width = w + "px";
  48. this.m_conten_div.style.height = h + "px";
  49. this.m_conten_div.style.left = x + "px";
  50. this.m_conten_div.style.top = y + "px";
  51. this.m_conten_div.style.position = "absolute";
  52. this.m_ui_list[0].appendChild(this.m_conten_div);
  53. this.m_conten_div.style.zIndex = 300;
  54. var lnH = h-2;
  55. this.m_conten_div.style.textAlign = "center";
  56. this.m_conten_div.style.lineHeight = Math.round(lnH) + "px";;
  57. this.m_conten_div.style.fontFamily = "Arial";
  58. this.m_conten_div.style.fontWeight = "900";
  59. this.m_conten_div.style.fontSize = Math.round(lnH) + "px";
  60. // add shadow from up down left and right
  61. this.m_conten_div.style.textShadow = "-1px -1px 1px #AE0000, 1px 1px 1px #AE0000, 1px -1px 1px #AE0000, -1px 1px 1px #AE0000 ";
  62. this.m_conten_div.style.color = color;
  63. this.m_conten_div.innerHTML = text;
  64. },
  65. createLabelContentTextSprite_ : function(x,y,w,h, text, color) {
  66. this.m_conten_div = document.createElement("div");
  67. this.m_conten_div.style.width = w + "px";
  68. this.m_conten_div.style.height = h + "px";
  69. this.m_conten_div.style.left = x + "px";
  70. this.m_conten_div.style.top = y + "px";
  71. this.m_conten_div.style.position = "absolute";
  72. this.m_ui_list[0].appendChild(this.m_conten_div);
  73. this.m_conten_div.style.zIndex = 300;
  74. var lnH = h-2;
  75. this.m_conten_div.style.textAlign = "center";
  76. this.m_conten_div.style.lineHeight = Math.round(lnH) + "px";
  77. this.m_conten_div.style.fontFamily = "Arial";
  78. this.m_conten_div.style.fontWeight = "900";
  79. this.m_conten_div.style.fontSize = Math.round(lnH) + "px";
  80. // add shadow from up down left and right
  81. this.m_conten_div.style.textShadow = "-1px -1px 1px #054747, 1px 1px 1px #054747, 1px -1px 1px #054747, -1px 1px 1px #054747 ";
  82. this.m_conten_div.style.color = color;
  83. this.m_conten_div.innerHTML = text;
  84. },
  85. createBtnTextSprite: function(divSprite, text, color){
  86. var spr = divSprite;
  87. var h = spr.m_h;
  88. spr.m_div.style.textAlign="center";
  89. //spr.m_div.style.textIndent = -10+ "px";
  90. spr.m_div.style.lineHeight= spr.m_div.style.height;
  91. spr.m_div.style.fontFamily="Arial";
  92. spr.m_div.style.fontWeight="bold";
  93. spr.m_div.style.fontSize=Math.round(h/4)+"px";
  94. //add shadow from up down left and right
  95. spr.m_div.style.textShadow="-2px -2px 2px #7c2e1a, 2px 2px 2px #7c2e1a, 2px -2px 2px #7c2e1a, -2px 2px 2px #7c2e1a ";
  96. spr.m_div.style.color=color;
  97. spr.m_div.innerHTML=text;
  98. return spr;
  99. },
  100. m_load_ui : false,
  101. popState: false,
  102. preProcess : function(preState, curState, levelscore, timeBonus,levelUsedHint) {
  103. var index = 0;
  104. // var img = null;
  105. var btn = null;
  106. var info = null;
  107. var infoDown = null;
  108. var mySelf = this;
  109. var ctx = null;
  110. if(!this.m_load_ui) {
  111. this.createUIs(this.CUR_UI_DEFS);
  112. var x = (320 - parseInt((this.m_ui_list[0].style.width).substr(0,3)))/2;
  113. var w = parseInt((this.m_ui_list[0].style.width).substr(0,3));
  114. this.createLabelTitleTextSprite(x,0,w,40,FZ.GameText.TEXT_LEVEL_CLEAR, "#BEEB36");
  115. this.createLabelContentTextSprite(x,50,w,25,FZ.GameText.TEXT_SCORE, "#FBCE1A");
  116. this.createLabelContentTextSprite_(x,110,w,25,FZ.GameText.TEXT_TIME_BONUS, "#67F1F0");
  117. this.createLabelContentTextSprite_(x,172,w,25,FZ.GameText.TEXT_USED_HINTS, "#67F1F0");
  118. this.createBtns(this.CUR_BTN_DEFS, true);
  119. this.createBtnTextSprite(this.m_btn_list[this.BTN_NEXT_LEVEL_INDEX], FZ.GameText.TEXT_NEXT_LEVEL, this.COLOR_ORANGE);
  120. // this.createStrScoreDiv();
  121. // this.createStrLeftTimeDiv();
  122. FZ.DivManager.addChild(this.m_main_div);
  123. this.m_load_ui = true;
  124. }
  125. else {
  126. this.m_main_div.style.display = "inline";
  127. }
  128. // updateShare(myPlayLevel,myPlayLevelScore);
  129. // Play68.setRankingLevelScoreDesc(myPlayLevel,myPlayLevelScore);
  130. var scoreNum = FZ.AG.SearchSpecialPath.setScoreNum(levelscore);
  131. for(var index = 0; index < scoreNum.length; index++){
  132. this.m_ui_list[this.UI_TOTAL_SCORE_START_INDEX + this.TOTAL_SCORE - scoreNum.length + index].style.backgroundImage = "url(imgs/number_score_" + scoreNum[scoreNum.length - 1- index] + ".png)";
  133. }
  134. if(scoreNum.length < this.TOTAL_SCORE){
  135. for(var index = 0; index < this.TOTAL_SCORE - scoreNum.length ; index++){
  136. this.m_ui_list[this.UI_TOTAL_SCORE_START_INDEX + index].style.backgroundImage = "url(imgs/number_score_0.png)";
  137. }
  138. }
  139. scoreNum = FZ.AG.SearchSpecialPath.setScoreNum(timeBonus);
  140. for(var index = 0; index < scoreNum.length; index++){
  141. this.m_ui_list[this.UI_STAGE_SCORE_START_INDEX + this.TIME_BONUS - scoreNum.length + index].style.backgroundImage = "url(imgs/number_score_" + scoreNum[scoreNum.length - 1- index] + ".png)";
  142. }
  143. if(scoreNum.length < this.TIME_BONUS){
  144. for(var index = 0; index < this.TIME_BONUS - scoreNum.length ; index++){
  145. this.m_ui_list[this.UI_STAGE_SCORE_START_INDEX + index].style.backgroundImage = "url(imgs/number_score_0.png)";
  146. }
  147. }
  148. scoreNum = FZ.AG.SearchSpecialPath.setScoreNum(levelUsedHint);
  149. for(var index = 0; index < scoreNum.length; index++){
  150. this.m_ui_list[this.UI_STAGE_HINT_START_INDEX + this.TOTAL_HINT - scoreNum.length + index].style.backgroundImage = "url(imgs/number_score_" + scoreNum[scoreNum.length - 1- index] + ".png)";
  151. }
  152. if(scoreNum.length < this.TOTAL_HINT){
  153. for(var index = 0; index < this.TOTAL_HINT - scoreNum.length ; index++){
  154. this.m_ui_list[this.UI_STAGE_HINT_START_INDEX + index].style.backgroundImage = "url(imgs/number_score_0.png)";
  155. }
  156. }
  157. this.popState = false;
  158. setTimeout(function() {
  159. mySelf.fade_in.call(mySelf, 2000, 1);
  160. }, 10);
  161. FZ.GameBase.SaveObject.m_gamein = false;
  162. FZ.GameBase.saveGame();
  163. },
  164. createStrLeftTimeDiv : function() {
  165. this.m_last_left_time_div = document.createElement("div");
  166. this.m_last_left_time_div.style.position = "absolute";
  167. this.m_last_left_time_div.style.width = this.STR_LEFT_TIME_RECT[2] + "px";
  168. this.m_last_left_time_div.style.height = this.STR_LEFT_TIME_RECT[3] + "px";
  169. this.m_last_left_time_div.style.left = this.STR_LEFT_TIME_RECT[0] + "px";
  170. this.m_last_left_time_div.style.top = this.STR_LEFT_TIME_RECT[1] + "px";
  171. this.m_last_left_time_div.style.color = "#fff";
  172. this.m_last_left_time_div.style.fontSize = FZ.GameDefs.STATS_FONT_SIZE + "px";
  173. this.m_last_left_time_div.style.fontFamily = "Arial";
  174. this.m_last_left_time_div.style.lineHeight = this.STR_LEFT_TIME_RECT[3] + "px";
  175. this.m_last_left_time_div.style.textAlign = "left";
  176. this.m_main_div.appendChild(this.m_last_left_time_div);
  177. },
  178. createStrScoreDiv : function() {
  179. this.m_last_score_div = document.createElement("div");
  180. this.m_last_score_div.style.position = "absolute";
  181. this.m_last_score_div.style.width = this.STR_SCORE_RECT[2] + "px";
  182. this.m_last_score_div.style.height = this.STR_SCORE_RECT[3] + "px";
  183. this.m_last_score_div.style.left = this.STR_SCORE_RECT[0] + "px";
  184. this.m_last_score_div.style.top = this.STR_SCORE_RECT[1] + "px";
  185. this.m_last_score_div.style.color = "#fff";
  186. this.m_last_score_div.style.fontSize = FZ.GameDefs.STATS_FONT_SIZE + "px";
  187. this.m_last_score_div.style.fontFamily = "Arial";
  188. this.m_last_score_div.style.lineHeight = this.STR_SCORE_RECT[3] + "px";
  189. this.m_last_score_div.style.textAlign = "left";
  190. this.m_main_div.appendChild(this.m_last_score_div);
  191. },
  192. postProcess : function() {
  193. this.fade_out(2000, 0, 0);
  194. },
  195. buttonClick: function(btn){
  196. if(this.popState){
  197. return;
  198. }
  199. var preState = null;
  200. if (this.m_btn_list[this.BTN_NEXT_LEVEL_INDEX] === btn) {
  201. this.postProcess();
  202. this.popState = true;
  203. FZ.GameBase.popState(this.StateName);
  204. //FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_GAME_IN);
  205. }
  206. }
  207. }, FZ.BaseState))();