CMenu.js 4.6 KB

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