CMenu.js 4.4 KB

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