| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481 |
- function CInterface(iScore) {
- var _oAudioToggle;
- var _pStartPosPause;
- var _pStartPosAudio;
- var _pStartPosExit;
- var _pStartPosFullscreen;
-
- var _bStoppedTime;
- var _oButPause;
- var _oPauseText;
- var _oButExit;
- var _oButContinue;
- var _oUpEdge;
- var _oLife;
- var _oLifeText;
- var _oScoreText;
- var _oFade;
- var _oButReturnToMenu;
- var _oTextGameOver;
- var _oTransBg;
- var _oButNextLevel;
- var _oTextLevelComplete;
- var _oTextScoreLevelComplete;
- var _oTextCongrat;
- var _oHelpPanel;
- var _oHelpText;
- var _oLevelText;
- var _oButFullscreen;
- var _fRequestFullScreen = null;
- var _fCancelFullScreen = null;
-
- this._init = function (iScore) {
- var oSprite = s_oSpriteLibrary.getSprite('icon_audio');
- var oButtonX = CANVAS_WIDTH - (oSprite.width / 2) - 130;
- _bStoppedTime = false;
- _oUpEdge = createBitmap(s_oSpriteLibrary.getSprite("up_edges"));
- s_oStage.addChild(_oUpEdge);
- if (DISABLE_SOUND_MOBILE === false || s_bMobile === false) {
- _pStartPosAudio = {x: oButtonX, y: (oSprite.height / 2) + 10};
- _oAudioToggle = new CToggle(_pStartPosAudio.x, _pStartPosAudio.y, oSprite, s_bAudioActive);
- _oAudioToggle.addEventListener(ON_MOUSE_UP, this._onAudioToggle, this);
-
- _pStartPosFullscreen = {x:_pStartPosAudio.x - oSprite.width/2 - 10,y:_pStartPosAudio.y};
- }else{
- _pStartPosFullscreen = {x: oButtonX, y: (oSprite.height / 2) + 10};
- }
-
- var doc = window.document;
- var docEl = doc.documentElement;
- _fRequestFullScreen = docEl.requestFullscreen || docEl.mozRequestFullScreen || docEl.webkitRequestFullScreen || docEl.msRequestFullscreen;
- _fCancelFullScreen = doc.exitFullscreen || doc.mozCancelFullScreen || doc.webkitExitFullscreen || doc.msExitFullscreen;
-
- if(ENABLE_FULLSCREEN === false){
- _fRequestFullScreen = false;
- }
- if (_fRequestFullScreen && screenfull.isEnabled){
- oSprite = s_oSpriteLibrary.getSprite('but_fullscreen');
- _oButFullscreen = new CToggle(_pStartPosFullscreen.x,_pStartPosFullscreen.y,oSprite,s_bFullscreen,true);
- _oButFullscreen.addEventListener(ON_MOUSE_UP, this._onFullscreenRelease, this);
- }
-
- _oScoreText = new CTLText(s_oStage,
- CANVAS_WIDTH / 2 - 150, CANVAS_HEIGHT / 2 - 430, 100, 70,
- 50, "center", "#fff", PRIMARY_FONT, 1,
- 0, 0,
- TEXT_SCORE+"\n"+iScore,
- true, true, true,
- false );
-
-
-
- _oLevelText =new CTLText(s_oStage,
- CANVAS_WIDTH / 2 - 290, CANVAS_HEIGHT / 2 - 430, 100, 70,
- 50, "center", "#fff", PRIMARY_FONT, 1,
- 0, 0,
- TEXT_LEVEL_UPPERCASE,
- true, true, true,
- false );
-
-
- var oSpriteExit = s_oSpriteLibrary.getSprite('but_exit');
- oButtonX = CANVAS_WIDTH - (oSpriteExit.width / 2) - 100;
- _pStartPosExit = {x: oButtonX + 85, y: (oSpriteExit.height / 2) + 10};
- _oButExit = new CGfxButton(_pStartPosExit.x, _pStartPosExit.y, oSpriteExit,s_oStage);
- _oButExit.addEventListener(ON_MOUSE_UP, this._onExit, this);
- var oSpritePause = s_oSpriteLibrary.getSprite('but_pause');
- oButtonX = CANVAS_WIDTH - (oSpritePause.width / 2) - 90;
- _pStartPosPause = {x: oButtonX, y: (oSpritePause.height / 2) + 10};
- _oButPause = new CGfxButton(_pStartPosPause.x, _pStartPosPause.y, oSpritePause,s_oStage);
- _oButPause.addEventListener(ON_MOUSE_UP, this._onButPauseRelease, this);
- var oSpriteLife = s_oSpriteLibrary.getSprite("life");
- _oLife = createBitmap(oSpriteLife);
- _oLife.x = CANVAS_WIDTH * 0.5 + 60;
- _oLife.y = 120;
- _oLife.regX = oSpriteLife.width * 0.5;
- _oLife.regY = oSpriteLife.width * 0.5;
- s_oStage.addChild(_oLife);
- _oLifeText = new createjs.Text("x" + LIFE, "normal " + 40 + "px " + PRIMARY_FONT, "#ffffff");
- _oLifeText.textAlign = "center";
- _oLifeText.textBaseline = "alphabetic";
- _oLifeText.x = CANVAS_WIDTH * 0.5 + 100;
- _oLifeText.y = 125;
- s_oStage.addChild(_oLifeText);
- s_oGame.setPause(true);
- this.refreshButtonPos(s_iOffsetX, s_iOffsetY);
- };
- this.refreshButtonPos = function (iNewX, iNewY) {
- if (DISABLE_SOUND_MOBILE === false || s_bMobile === false) {
- _oAudioToggle.setPosition(_pStartPosAudio.x - iNewX, _pStartPosAudio.y + iNewY);
- }
- if (_fRequestFullScreen && screenfull.isEnabled){
- _oButFullscreen.setPosition(_pStartPosFullscreen.x - iNewX,_pStartPosFullscreen.y + iNewY);
- }
- _oButPause.setPosition(_pStartPosPause.x - iNewX, _pStartPosPause.y + iNewY);
- _oButExit.setPosition(_pStartPosExit.x - iNewX, _pStartPosExit.y + iNewY);
- };
- this.rereshNumLevel = function () {
- };
- this.refreshBallLife = function (iValue) {
- _oLifeText.text = "x" + +iValue;
- };
- this.gameOver = function (iScore) {
- s_oGame.setPause(true);
- _oButPause.block(true);
- _oFade = new createjs.Shape();
- _oFade.graphics.beginFill("black").drawRect(0, 0, CANVAS_WIDTH, CANVAS_HEIGHT);
- _oFade.alpha = 0;
- s_oStage.addChild(_oFade);
- _oTextGameOver = new CTLText(s_oStage,
- CANVAS_WIDTH/2-300, -120, 600, 300,
- 100, "center", "#ffff00", PRIMARY_FONT, 1,
- 0, 0,
- TEXT_SCORE_GAMEOVER + "\n\n" + iScore,
- true, true, true,
- false );
-
-
-
- createjs.Tween.get(_oFade).to({alpha: 0.5}, 1000, createjs.Ease.backOut).call(function () {
- createjs.Tween.get(_oTextGameOver.getText()).to({y: CANVAS_HEIGHT / 2 - 200}, 1000, createjs.Ease.bounceOut).call(function () {
- var oSpriteRestart = s_oSpriteLibrary.getSprite("but_restart");
- _oButReturnToMenu = new CGfxButton((CANVAS_WIDTH / 2), CANVAS_HEIGHT / 2 + 200, oSpriteRestart,s_oStage);
- _oButReturnToMenu.addEventListener(ON_MOUSE_UP, s_oInterface._onButReturnToMenuRelease, this);
- });
- });
- document.dispatchEvent(new CustomEvent("share_event", {detail: { score: iScore } }));
- document.dispatchEvent(new CustomEvent("save_score", {detail: { score: iScore } }));
- if (DISABLE_SOUND_MOBILE === false || s_bMobile === false) {
- var oGameOver = playSound("game_over",1,false);
- setVolume("soundtrack",0);
-
- if(oGameOver){
- oGameOver.on("end", function () {
- setVolume("soundtrack",1);
- oGameOver = null;
- });
- }
- }
- };
- this.levelComplete = function (iLevel, iScore) {
- var iLv = iLevel;
- if (iLv < BRICKS_LEVEL_POSITION.length) {
- _oFade = createBitmap(s_oSpriteLibrary.getSprite("msg_box"));
- _oFade.alpha = 0;
- s_oStage.addChild(_oFade);
- s_oStage.setChildIndex(_oFade, s_oStage.numChildren - 1);
- _oButPause.block(true);
- _oTextLevelComplete = new CTLText(s_oStage,
- CANVAS_WIDTH/2-300, - 150, 600, 300,
- 100, "center", "#ffff00", PRIMARY_FONT, 1,
- 0, 0,
- TEXT_LEVEL + " " + iLv + " " + TEXT_COMPLETE,
- true, true, true,
- false );
-
-
- _oTextScoreLevelComplete = new CTLText(s_oStage,
- CANVAS_WIDTH/2-300, CANVAS_HEIGHT / 2 - 150, 600, 300,
- 100, "center", "#ffff00", PRIMARY_FONT, 1,
- 0, 0,
- TEXT_SCORE + "\n\n" + iScore,
- true, true, true,
- false );
-
-
- createjs.Tween.get(_oFade).to({alpha: 1}, 1000, createjs.Ease.backOut);
- createjs.Tween.get(_oTextScoreLevelComplete.getText()).to({alpha: 1}, 1000, createjs.Ease.bounceOut).call(function () {
- var oSpriteButNext = s_oSpriteLibrary.getSprite("but_continue");
- _oButNextLevel = new CGfxButton((CANVAS_WIDTH / 2), CANVAS_HEIGHT / 2 + 300, oSpriteButNext,s_oStage);
- _oButNextLevel.addEventListener(ON_MOUSE_UP, s_oInterface._onButNextLevelRelease, this);
- });
- createjs.Tween.get(_oTextLevelComplete.getText()).to({y: CANVAS_HEIGHT / 2 - 300}, 1000, createjs.Ease.bounceOut);
- }
- else
- {
- this.finishGame(iScore);
- }
- };
- this.finishGame = function (iScore) {
- console.log("finishGame");
- s_oGame.setPause(true);
- _oButPause.block(true);
- _oFade = createBitmap(s_oSpriteLibrary.getSprite("msg_box"));
- _oFade.alpha = 0;
- s_oStage.addChild(_oFade);
- s_oStage.setChildIndex(_oFade, s_oStage.numChildren - 1);
- _oTextCongrat = new CTLText(s_oStage,
- CANVAS_WIDTH/2-300, -170, 600, 200,
- 100, "center", "#ffff00", PRIMARY_FONT, 1,
- 0, 0,
- TEXT_CONGRATULATIONS,
- true, true, true,
- false );
-
-
- _oTextGameOver = new CTLText(s_oStage,
- CANVAS_WIDTH/2-300,CANVAS_HEIGHT / 2 - 100, 600, 250,
- 100, "center", "#ffff00", PRIMARY_FONT, 1,
- 0, 0,
- TEXT_SCORE_GAMEOVER + "\n\n" + iScore,
- true, true, true,
- false );
-
-
- createjs.Tween.get(_oFade).to({alpha: 1}, 1000, createjs.Ease.backOut);
- createjs.Tween.get(_oTextCongrat.getText()).to({y: CANVAS_HEIGHT / 2 - 370}, 1200, createjs.Ease.bounceOut);
- createjs.Tween.get(_oTextGameOver.getText()).to({alpha: 1}, 1000, createjs.Ease.bounceOut).call(function () {
- var oSpriteRestart = s_oSpriteLibrary.getSprite("but_restart");
- _oButReturnToMenu = new CGfxButton((CANVAS_WIDTH / 2), CANVAS_HEIGHT / 2 + 300, oSpriteRestart,s_oStage);
- _oButReturnToMenu.addEventListener(ON_MOUSE_UP, s_oInterface._onButReturnToMenuRelease, this);
- });
- if (DISABLE_SOUND_MOBILE === false || s_bMobile === false) {
- var oGameCompleted = playSound("game_completed",1,false);//insert an appropriate sound
- setVolume("soundtrack",0);
- if(oGameCompleted){
- oGameCompleted.on("end", function () {
- setVolume("soundtrack",1);
- oGameCompleted = null;
- });
- }
-
- }
- document.dispatchEvent(new CustomEvent("share_event", {detail: { score: iScore } }));
- document.dispatchEvent(new CustomEvent("save_score", {detail: { score: iScore } }));
- };
- this._onButNextLevelRelease = function () {
- _oTextScoreLevelComplete.unload();
- _oTextLevelComplete.unload();
- s_oStage.removeChild(_oFade);
- _oTextLevelComplete = null;
- _oFade = null;
- _oTextScoreLevelComplete = null;
- _oButNextLevel.unload();
- _oButNextLevel = null;
- _oButPause.block(false);
- s_oGame.nextLevel();
- };
- this._onButReturnToMenuRelease = function () {
- s_oGame.onExit();
- };
- this.refreshScore = function (iScore) {
- _oScoreText.refreshText("SCORE\n" + iScore);
- };
- this._onButPauseRelease = function () {
- playSound("click", 1, false);
- s_oGame.setPause(true);
- _oTransBg = new createjs.Shape();
- _oTransBg.graphics.beginFill("black").drawRect(0, 0, CANVAS_WIDTH, CANVAS_HEIGHT);
- _oTransBg.alpha = 0.5;
- s_oStage.addChild(_oTransBg);
- _oPauseText = new createjs.Text("Pause", "normal " + 70 + "px " + PRIMARY_FONT, "#ffffff");
- _oPauseText.textAlign = "center";
- _oPauseText.textBaseline = "alphabetic";
- _oPauseText.x = CANVAS_WIDTH / 2;
- _oPauseText.y = CANVAS_HEIGHT / 2 - 250;
- s_oStage.addChild(_oPauseText);
- _oButPause.block(true);
- _oButExit.block(true);
- createjs.Ticker.paused = true;
- var oSpriteContinue = s_oSpriteLibrary.getSprite('but_continue');
- _oButContinue = new CGfxButton(CANVAS_WIDTH / 2, CANVAS_HEIGHT / 2, oSpriteContinue,s_oStage);
- _oButContinue.addEventListener(ON_MOUSE_UP, this._onButContinueRelease, this);
- };
- this._onButContinueRelease = function () {
- playSound("click", 1, false);
- _oButContinue.unload();
- _oButContinue = null;
- s_oStage.removeChild(_oPauseText, _oTransBg);
- _oTransBg = false;
- _oPauseText = null;
- _oButPause.block(false);
- _oButExit.block(false);
- createjs.Ticker.paused = false;
- s_oGame.setPause(false);
- };
- this.help = function (iLv) {
- var iLevel = iLv;
- var oSpriteHelpBg = s_oSpriteLibrary.getSprite('msg_box');
- _oHelpPanel = createBitmap(oSpriteHelpBg);
- _oHelpPanel.on("click", function () {
- s_oInterface.unloadHelp(iLevel);
- }, null, true);
- s_oStage.addChild(_oHelpPanel);
- if (!_oHelpText) {
- _oHelpText = new CTLText(s_oStage,
- CANVAS_WIDTH/2-300,CANVAS_HEIGHT / 2 - 120, 600, 250,
- 100, "center", "#ffff00", PRIMARY_FONT, 1,
- 0, 0,
- TEXT_HELP_PAGE_1_PC,
- true, true, true,
- false );
-
-
- } else if (s_bMobile === true) {
- _oHelpText.refreshText(TEXT_HELP_PAGE_1_MOBILE);
- } else {
- _oHelpText.refreshText(TEXT_HELP_PAGE_1_PC);
- }
- };
- this.unloadHelp = function (iLevel) {
- createjs.Tween.get(_oHelpPanel).to({alpha: 0}, 1000, createjs.Ease.cubicOut).call(function () {
- s_oStage.removeChild(_oHelpPanel);
- });
- createjs.Tween.get(_oHelpText.getText()).to({alpha: 0}, 1000, createjs.Ease.cubicOut).call(function () {
- _oHelpText.unload();
- s_oInterface.showNumLevel(iLevel);
- });
- };
- this.numLevel = function (iLevel) {
- var iLv = iLevel;
- _oLevelText.refreshText(TEXT_LEVEL_UPPERCASE + "\n" + iLv);
- };
- this.showNumLevel = function (iLevel) {
- var oCurLevel;
- var oCurLevelCont;
- var oCurLevelContainer;
- var iRand = Math.floor(Math.random() * COLOR_TEXT_LEVEL.length);
- oCurLevel = new createjs.Text(TEXT_LEVEL_UPPERCASE + " " + iLevel, "normal " + 100 + "px " + PRIMARY_FONT, COLOR_TEXT_LEVEL[iRand]);
- oCurLevel.textAlign = "center";
- oCurLevel.textBaseline = "alphabetic";
- oCurLevel.x = 0;
- oCurLevel.y = 0;
- oCurLevelCont = new createjs.Text(TEXT_LEVEL_UPPERCASE + " " + iLevel, "normal " + 100 + "px " + PRIMARY_FONT, "#000000");
- oCurLevelCont.textAlign = "center";
- oCurLevelCont.textBaseline = "alphabetic";
- oCurLevelCont.x = 0;
- oCurLevelCont.y = 0;
- oCurLevelCont.outline = 5;
- oCurLevelContainer = new createjs.Container();
- oCurLevelContainer.addChild(oCurLevelCont, oCurLevel);
- oCurLevelContainer.x = -100;
- oCurLevelContainer.y = CANVAS_HEIGHT * 0.5;
- s_oStage.addChild(oCurLevelContainer);
- createjs.Tween.get(oCurLevelContainer).to({x: CANVAS_WIDTH * 0.5}, 600, createjs.Ease.cubicOut).call(function () {
- createjs.Tween.get(oCurLevelContainer).wait(500).to({x: CANVAS_WIDTH + 100}, 600, createjs.Ease.cubicIn).call(function () {
- s_oStage.removeChild(oCurLevelContainer);
- s_oGame.setPause(false);
- });
- });
- };
- this.unload = function () {
- if(_oTextGameOver){
- _oTextGameOver.unload();
- }
-
- s_oStage.removeChild( _oButReturnToMenu, _oFade);
- _oTextGameOver = null;
- _oButReturnToMenu = null;
- _oFade = null;
- if (DISABLE_SOUND_MOBILE === false || s_bMobile === false) {
- _oAudioToggle.unload();
- _oAudioToggle = null;
- }
-
- if (_fRequestFullScreen && screenfull.isEnabled){
- _oButFullscreen.unload();
- }
-
- s_oInterface = null;
- };
- this._onExit = function () {
- s_oGame.onExit();
- };
- this._onAudioToggle = function () {
- Howler.mute(s_bAudioActive);
- s_bAudioActive = !s_bAudioActive;
- };
-
- this.resetFullscreenBut = function(){
- if (_fRequestFullScreen && screenfull.isEnabled){
- _oButFullscreen.setActive(s_bFullscreen);
- }
- };
- this._onFullscreenRelease = function(){
- if(s_bFullscreen) {
- _fCancelFullScreen.call(window.document);
- }else{
- _fRequestFullScreen.call(window.document.documentElement);
- }
-
- sizeHandler();
- };
-
- s_oInterface = this;
- this._init(iScore);
- return this;
- }
- var s_oInterface = null;
|