CMenu.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. function CMenu(){
  2. var _pStartPosPlay;
  3. var _pStartPosChallenge;
  4. var _pStartPosAudio;
  5. var _pStartPosInfo;
  6. var _pStartPosFullscreen;
  7. var _oBg;
  8. var _oButPlay;
  9. var _oButPlayChallenge;
  10. var _oAudioToggle;
  11. var _oFade;
  12. var _oButInfo;
  13. var _oButFullscreen;
  14. var _fRequestFullScreen = null;
  15. var _fCancelFullScreen = null;
  16. this._init = function(){
  17. _oBg = createBitmap(s_oSpriteLibrary.getSprite('bg_menu'));
  18. s_oStage.addChild(_oBg);
  19. _pStartPosPlay = {x:(CANVAS_WIDTH/2),y:CANVAS_HEIGHT -70};
  20. var oSprite = s_oSpriteLibrary.getSprite('but_play');
  21. _oButPlay = new CTextButton(_pStartPosPlay.x,_pStartPosPlay.y,oSprite,TEXT_PLAY,FONT_GAME,"#ffffff",30,s_oStage);
  22. _oButPlay.addEventListener(ON_MOUSE_UP, this._onButPlay, this, false);
  23. //_pStartPosChallenge = {x:(CANVAS_WIDTH/2 + 170),y:CANVAS_HEIGHT -70};
  24. //_oButPlayChallenge = new CTextButton(_pStartPosChallenge.x,_pStartPosChallenge.y,oSprite,TEXT_PLAYCHALLENGE,FONT_GAME,"#ffffff",30,s_oStage);
  25. //_oButPlayChallenge.addEventListener(ON_MOUSE_UP, this._onButPlayChallenge, this);
  26. if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){
  27. var oSprite = s_oSpriteLibrary.getSprite('audio_icon');
  28. _pStartPosAudio = {x: CANVAS_WIDTH - (oSprite.width/4) - 10, y: (oSprite.height/2) + 10};
  29. _oAudioToggle = new CToggle(_pStartPosAudio.x,_pStartPosAudio.y,oSprite,s_oStage);
  30. _oAudioToggle.addEventListener(ON_MOUSE_UP, this._onAudioToggle, this);
  31. }
  32. if(SHOW_CREDITS){
  33. var oSprite = s_oSpriteLibrary.getSprite('but_credits');
  34. _pStartPosInfo = {x: (oSprite.height/2) + 10, y: (oSprite.height/2) + 10};
  35. _oButInfo = new CGfxButton(_pStartPosInfo.x,_pStartPosInfo.y,oSprite,s_oStage);
  36. _oButInfo.addEventListener(ON_MOUSE_UP, this._onCredits, this);
  37. oSprite = s_oSpriteLibrary.getSprite('but_fullscreen');
  38. _pStartPosFullscreen = {x: _pStartPosInfo.x + (oSprite.width / 2) + 10, y: _pStartPosInfo.y};
  39. }else{
  40. oSprite = s_oSpriteLibrary.getSprite('but_fullscreen');
  41. _pStartPosFullscreen = {x: (oSprite.width/2) + 10, y: (oSprite.height/2) + 10};
  42. }
  43. var doc = window.document;
  44. var docEl = doc.documentElement;
  45. _fRequestFullScreen = docEl.requestFullscreen || docEl.mozRequestFullScreen || docEl.webkitRequestFullScreen || docEl.msRequestFullscreen;
  46. _fCancelFullScreen = doc.exitFullscreen || doc.mozCancelFullScreen || doc.webkitExitFullscreen || doc.msExitFullscreen;
  47. if(ENABLE_FULLSCREEN === false){
  48. _fRequestFullScreen = false;
  49. }
  50. if (_fRequestFullScreen && screenfull.enabled){
  51. _oButFullscreen = new CToggle(_pStartPosFullscreen.x,_pStartPosFullscreen.y,oSprite,s_bFullscreen,s_oStage);
  52. _oButFullscreen.addEventListener(ON_MOUSE_UP, this._onFullscreenRelease, this);
  53. }
  54. _oFade = new createjs.Shape();
  55. _oFade.graphics.beginFill("black").drawRect(0,0,CANVAS_WIDTH,CANVAS_HEIGHT);
  56. s_oStage.addChild(_oFade);
  57. createjs.Tween.get(_oFade).to({alpha:0}, 1000).call(function(){_oFade.visible = false;});
  58. this.refreshButtonPos (s_iOffsetX,s_iOffsetY);
  59. };
  60. this.unload = function(){
  61. _oButPlay.unload();
  62. _oButPlay = null;
  63. if(SHOW_CREDITS){
  64. _oButInfo.unload();
  65. }
  66. if (_fRequestFullScreen && screenfull.enabled){
  67. _oButFullscreen.unload();
  68. }
  69. //_oButPlayChallenge.unload();
  70. //_oButPlayChallenge = null;
  71. if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){
  72. _oAudioToggle.unload();
  73. _oAudioToggle = null;
  74. }
  75. s_oStage.removeAllChildren();
  76. s_oMenu = null;
  77. };
  78. this.refreshButtonPos = function(iNewX,iNewY){
  79. if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){
  80. _oAudioToggle.setPosition(_pStartPosAudio.x - iNewX,iNewY + _pStartPosAudio.y);
  81. }
  82. if (_fRequestFullScreen && screenfull.enabled){
  83. _oButFullscreen.setPosition(_pStartPosFullscreen.x + s_iOffsetX,_pStartPosFullscreen.y + s_iOffsetY);
  84. }
  85. _oButPlay.setPosition(_pStartPosPlay.x,_pStartPosPlay.y - iNewY);
  86. //_oButPlayChallenge.setPosition(_pStartPosChallenge.x,_pStartPosChallenge.y - iNewY);
  87. if(SHOW_CREDITS){
  88. _oButInfo.setPosition(_pStartPosInfo.x + iNewX,iNewY + _pStartPosInfo.y);
  89. }
  90. };
  91. this._onButPlay = function(){
  92. this.unload();
  93. if (isIOS() && s_oSoundTrack === null) {
  94. s_oSoundTrack = playSound("soundtrack",1,true);
  95. }
  96. s_oMain.gotoGame(false);
  97. $(s_oMain).trigger("start_session");
  98. };
  99. this._onButPlayChallenge = function(){
  100. this.unload();
  101. if (isIOS() && s_oSoundTrack === null) {
  102. s_oSoundTrack = playSound("soundtrack",1,true);
  103. }
  104. s_oMain.gotoGame(true);
  105. $(s_oMain).trigger("start_session");
  106. };
  107. this._onCredits = function(){
  108. new CCreditsPanel();
  109. };
  110. this._onAudioToggle = function(){
  111. Howler.mute(s_bAudioActive);
  112. s_bAudioActive = !s_bAudioActive;
  113. };
  114. this.resetFullscreenBut = function(){
  115. if (_fRequestFullScreen && screenfull.enabled){
  116. _oButFullscreen.setActive(s_bFullscreen);
  117. }
  118. };
  119. this._onFullscreenRelease = function(){
  120. if(s_bFullscreen) {
  121. _fCancelFullScreen.call(window.document);
  122. }else{
  123. _fRequestFullScreen.call(window.document.documentElement);
  124. }
  125. sizeHandler();
  126. };
  127. s_oMenu = this;
  128. this._init();
  129. }
  130. var s_oMenu = null;