CMenu.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. function CMenu(){
  2. var _pStartPosAudio;
  3. var _pStartPosInfo;
  4. var _pStartPosFullscreen;
  5. var _oBg;
  6. var _oButPlay;
  7. var _oAudioToggle;
  8. var _oButInfo;
  9. var _oButFullscreen;
  10. var _fRequestFullScreen = null;
  11. var _fCancelFullScreen = null;
  12. var _oFade;
  13. this._init = function(){
  14. _oBg = 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 - 300),CANVAS_HEIGHT/2 + 50,oSprite,TEXT_PLAY,FONT_GAME,"#ffffff",60,s_oStage);
  18. _oButPlay.addEventListener(ON_MOUSE_UP, this._onButPlay, this, false);
  19. if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){
  20. var oSprite = s_oSpriteLibrary.getSprite('audio_icon');
  21. _pStartPosAudio = {x: CANVAS_WIDTH - (oSprite.width/4) - 10, y: (oSprite.height/2) + 10};
  22. _oAudioToggle = new CToggle(_pStartPosAudio.x,_pStartPosAudio.y,oSprite,s_bAudioActive,s_oStage);
  23. _oAudioToggle.addEventListener(ON_MOUSE_UP, this._onAudioToggle, this);
  24. }
  25. var oSprite = s_oSpriteLibrary.getSprite('but_credits');
  26. _pStartPosInfo = {x: (oSprite.height/2) + 10, y: (oSprite.height/2) + 10};
  27. _oButInfo = new CGfxButton(_pStartPosInfo.x,_pStartPosInfo.y,oSprite,s_oStage);
  28. _oButInfo.addEventListener(ON_MOUSE_UP, this._onCredits, this);
  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:_pStartPosInfo.x + oSprite.width/2 + 10,y:_pStartPosInfo.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. setVolume("soundtrack",1);
  48. };
  49. this.refreshButtonPos = function(iNewX,iNewY){
  50. if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){
  51. _oAudioToggle.setPosition(_pStartPosAudio.x - iNewX,iNewY + _pStartPosAudio.y);
  52. }
  53. if (_fRequestFullScreen && screenfull.isEnabled){
  54. _oButFullscreen.setPosition(_pStartPosFullscreen.x + s_iOffsetX,_pStartPosFullscreen.y + s_iOffsetY);
  55. }
  56. _oButInfo.setPosition(_pStartPosInfo.x + iNewX,iNewY + _pStartPosInfo.y);
  57. };
  58. this.unload = function(){
  59. _oButPlay.unload();
  60. _oButPlay = null;
  61. if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){
  62. _oAudioToggle.unload();
  63. _oAudioToggle = null;
  64. }
  65. if (_fRequestFullScreen && screenfull.isEnabled){
  66. _oButFullscreen.unload();
  67. }
  68. s_oStage.removeAllChildren();
  69. s_oMenu = null;
  70. };
  71. this.resetFullscreenBut = function(){
  72. _oButFullscreen.setActive(s_bFullscreen);
  73. };
  74. this._onCredits = function(){
  75. new CCreditsPanel();
  76. };
  77. this._onButPlay = function(){
  78. this.unload();
  79. $(s_oMain).trigger("start_session");
  80. s_oMain.gotoGame();
  81. };
  82. this._onAudioToggle = function(){
  83. Howler.mute(s_bAudioActive);
  84. s_bAudioActive = !s_bAudioActive;
  85. };
  86. this._onFullscreenRelease = function(){
  87. if(s_bFullscreen) {
  88. _fCancelFullScreen.call(window.document);
  89. }else{
  90. _fRequestFullScreen.call(window.document.documentElement);
  91. }
  92. sizeHandler();
  93. };
  94. s_oMenu = this;
  95. this._init();
  96. }
  97. var s_oMenu = null;