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