CInterface.js 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. function CInterface(szTimeLeft){
  2. var _pStartPosExit;
  3. var _pStartPosAudio;
  4. var _pStartPosScoreText;
  5. var _pStartPosTimeText;
  6. var _pStartPosFullscreen;
  7. var _oTimeLeft;
  8. var _oTimeLeft;
  9. var _oScore;
  10. var _oAudioToggle;
  11. var _szTimeLeft;
  12. var _oButExit;
  13. var _oScoreMultText;
  14. var _oButFullscreen;
  15. var _fRequestFullScreen = null;
  16. var _fCancelFullScreen = null;
  17. this._init = function(szTimeLeft){
  18. _pStartPosTimeText = {x:30,y:75};
  19. _szTimeLeft = TEXT_TIMELEFT + szTimeLeft;
  20. _oTimeLeft = new createjs.Text(_szTimeLeft, "36px "+FONT_GAME, "Pink");
  21. _oTimeLeft.x = _pStartPosTimeText.x;
  22. _oTimeLeft.y = _pStartPosTimeText.y;
  23. _oTimeLeft.textBaseline = "alphabetic";
  24. _oTimeLeft.shadow = new createjs.Shadow("#000000", 2, 2, 2);
  25. s_oStage.addChild(_oTimeLeft);
  26. _pStartPosScoreText = {x:CANVAS_WIDTH/2,y:75};
  27. _szScore = TEXT_SCORE + 0;
  28. _oScore = new createjs.Text(_szScore, "36px "+FONT_GAME, "Pink");
  29. _oScore.x = _pStartPosScoreText.x;
  30. _oScore.y = _pStartPosScoreText.y;
  31. _oScore.textAlign = "center";
  32. _oScore.textBaseline = "alphabetic";
  33. _oScore.shadow = new createjs.Shadow("#000000", 2, 2, 2);
  34. s_oStage.addChild(_oScore);
  35. _oScoreMultText = new createjs.Text("X2", "150px "+FONT_GAME, "#fff");
  36. _oScoreMultText.textAlign = "center";
  37. _oScoreMultText.textBaseline = "alphabetic";
  38. _oScoreMultText.x = CANVAS_WIDTH/2;
  39. _oScoreMultText.y = CANVAS_HEIGHT/2;
  40. _oScoreMultText.shadow = new createjs.Shadow("#000000", 2, 2, 2);
  41. _oScoreMultText.scaleX = _oScoreMultText.scaleY = 0.1;
  42. _oScoreMultText.visible = false;
  43. s_oStage.addChild(_oScoreMultText);
  44. var oSprite = s_oSpriteLibrary.getSprite('but_exit');
  45. _pStartPosExit = {x:CANVAS_WIDTH - (oSprite.width/2) - 20,y:(oSprite.height/2) + 30};
  46. var oSprite2 = s_oSpriteLibrary.getSprite('audio_icon');
  47. _pStartPosAudio = {x:CANVAS_WIDTH - oSprite2.width - 10,y:(oSprite2.height/2) + 30};
  48. _oButExit = new CGfxButton(_pStartPosExit.x,_pStartPosExit.y,oSprite,s_oStage);
  49. _oButExit.addEventListener(ON_MOUSE_UP, this._onExit, this);
  50. if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){
  51. _oAudioToggle = new CToggle(_pStartPosAudio.x,_pStartPosAudio.y,oSprite2, s_bAudioActive,s_oStage);
  52. _oAudioToggle.addEventListener(ON_MOUSE_UP, this._onAudioToggle, this);
  53. _pStartPosFullscreen = {x:_pStartPosAudio.x-oSprite.width - 20,y:_pStartPosAudio.y};
  54. }else{
  55. _pStartPosFullscreen = {x:_pStartPosExit.x-oSprite.width - 20,y:_pStartPosExit.y};
  56. }
  57. var doc = window.document;
  58. var docEl = doc.documentElement;
  59. _fRequestFullScreen = docEl.requestFullscreen || docEl.mozRequestFullScreen || docEl.webkitRequestFullScreen || docEl.msRequestFullscreen;
  60. _fCancelFullScreen = doc.exitFullscreen || doc.mozCancelFullScreen || doc.webkitExitFullscreen || doc.msExitFullscreen;
  61. if(ENABLE_FULLSCREEN === false){
  62. _fRequestFullScreen = false;
  63. }
  64. if (_fRequestFullScreen && screenfull.isEnabled){
  65. oSprite = s_oSpriteLibrary.getSprite('but_fullscreen');
  66. _oButFullscreen = new CToggle(_pStartPosFullscreen.x,_pStartPosFullscreen.y,oSprite,s_bFullscreen,s_oStage);
  67. _oButFullscreen.addEventListener(ON_MOUSE_UP, this._onFullscreenRelease, this);
  68. }
  69. this.refreshButtonPos(s_iOffsetX,s_iOffsetY);
  70. };
  71. this.refreshButtonPos = function(iNewX,iNewY){
  72. _oScore.y = _pStartPosScoreText.y + iNewY;
  73. _oTimeLeft.x = _pStartPosTimeText.x + iNewX;
  74. _oTimeLeft.y = _pStartPosTimeText.y + iNewY;
  75. _oButExit.setPosition(_pStartPosExit.x - iNewX,iNewY + _pStartPosExit.y);
  76. if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){
  77. _oAudioToggle.setPosition(_pStartPosAudio.x - iNewX,iNewY + _pStartPosAudio.y);
  78. }
  79. if (_fRequestFullScreen && screenfull.isEnabled){
  80. _oButFullscreen.setPosition(_pStartPosFullscreen.x - iNewX,_pStartPosFullscreen.y + iNewY);
  81. }
  82. };
  83. this.unload = function(){
  84. if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){
  85. _oAudioToggle.unload();
  86. }
  87. if (_fRequestFullScreen && screenfull.isEnabled){
  88. _oButFullscreen.unload();
  89. }
  90. _oButExit.unload();
  91. s_oStage.removeChild(_oTimeLeft);
  92. s_oStage.removeChild(_oScore);
  93. s_oInterface = null;
  94. };
  95. this.refreshScore = function(iScore){
  96. _oScore.text = TEXT_SCORE + iScore;
  97. };
  98. this.showMultiplier = function(iMult){
  99. _oScoreMultText.text = "X"+iMult;
  100. _oScoreMultText.visible = true;
  101. createjs.Tween.get(_oScoreMultText).to({scaleX:1,scaleY:1}, 300,createjs.Ease.cubicOut).call(function(){
  102. createjs.Tween.get(_oScoreMultText).to({scaleX:0.1,scaleY:0.1}, 300,createjs.Ease.cubicIn).call(function(){
  103. _oScoreMultText.visible = false;
  104. });
  105. });
  106. };
  107. this.update = function(szTimeLeft){
  108. _oTimeLeft.text = TEXT_TIMELEFT + szTimeLeft;
  109. };
  110. this._onExit = function(){
  111. s_oGame.unload(true);
  112. };
  113. this._onAudioToggle = function(){
  114. Howler.mute(s_bAudioActive);
  115. s_bAudioActive = !s_bAudioActive;
  116. };
  117. this.resetFullscreenBut = function(){
  118. if (_fRequestFullScreen && screenfull.isEnabled){
  119. _oButFullscreen.setActive(s_bFullscreen);
  120. }
  121. };
  122. this._onFullscreenRelease = function(){
  123. if(s_bFullscreen) {
  124. _fCancelFullScreen.call(window.document);
  125. }else{
  126. _fRequestFullScreen.call(window.document.documentElement);
  127. }
  128. sizeHandler();
  129. };
  130. s_oInterface = this;
  131. this._init(szTimeLeft);
  132. return this;
  133. }
  134. var s_oInterface = null;