function CMain(oData){ var _bUpdate; var _iCurResource = 0; var RESOURCE_TO_LOAD = 0; var _iState = STATE_LOADING; var _oPreloader; var _oMenu; var _oGame; this.initContainer = function(oData){ // init constants TIME_GAME = oData.time_game; INIT_GRAVITY_NORMAL = oData.gravity; INIT_BALLMASS_NORMAL = oData.ballMass; FRICTION_NORMAL = oData.friction; EDGEFRICTION_NORMAL = oData.edgeFriction; ROTATIONSPEED_NORMAL = oData.rotationSpeed; HORIZ_KICKFORCE_NORMAL = oData.horizKickForce; VERT_KICKFORCE_NORMAL = oData.vertKickForce; RESTITUTION_KICKFORCE_NORMAL = oData.restitutionKickForce; INIT_GRAVITY_CHALLENGE = oData.chGravity; INIT_BALLMASS_CHALLENGE = oData.chBallMass; FRICTION_CHALLENGE = oData.chFriction; EDGEFRICTION_CHALLENGE = oData.chEdgeFriction; ROTATIONSPEED_CHALLENGE = oData.chRotationSpeed; HORIZ_KICKFORCE_CHALLENGE = oData.chHorizKickForce; VERT_KICKFORCE_CHALLENGE = oData.chVertKickForce; RESTITUTION_KICKFORCE_CHALLENGE = oData.chRestitutionKickForce; GRAVITY_INCREASE = oData.chGravityIncrease; s_oStage = new createjs.Stage("canvas"); createjs.Touch.enable(s_oStage); s_bMobile = jQuery.browser.mobile; if(s_bMobile === false){ s_oStage.enableMouseOver(20); } s_iPrevTime = new Date().getTime(); createjs.Ticker.framerate = 30; createjs.Ticker.addEventListener("tick", this._update); if (navigator.userAgent.match(/Windows Phone/i)) { DISABLE_SOUND_MOBILE = true; } s_oSpriteLibrary = new CSpriteLibrary(); //ADD PRELOADER _oPreloader = new CPreloader(); _bUpdate = true; }; this.preloaderReady = function(){ this._loadImages(); if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){ this._initSounds(); } }; this.soundLoaded = function(){ _iCurResource++; var iPerc = Math.floor(_iCurResource/RESOURCE_TO_LOAD *100); _oPreloader.refreshLoader(iPerc); if(_iCurResource === RESOURCE_TO_LOAD){ _oPreloader.unload(); if (!isIOS()) { s_oSoundTrack = playSound("soundtrack", 1, true); } s_oMain.gotoMenu(); } }; this._initSounds = function(){ var aSoundsInfo = new Array(); aSoundsInfo.push({path: './sounds/',filename:'reset_kickup',loop:false,volume:1, ingamename: 'reset_kickup'}); aSoundsInfo.push({path: './sounds/',filename:'click',loop:false,volume:1, ingamename: 'click'}); aSoundsInfo.push({path: './sounds/',filename:'tap',loop:false,volume:1, ingamename: 'tap'}); aSoundsInfo.push({path: './sounds/',filename:'soundtrack',loop:true,volume:1, ingamename: 'soundtrack'}); RESOURCE_TO_LOAD += aSoundsInfo.length; s_aSounds = new Array(); for(var i=0; i= 1000 ){ s_iCurFps = s_iCntFps; s_iCntTime-=1000; s_iCntFps = 0; } if(_iState === STATE_GAME){ _oGame.update(); } s_oStage.update(event); }; s_oMain = this; ENABLE_FULLSCREEN = oData.fullscreen; ENABLE_CHECK_ORIENTATION = oData.check_orientation; this.initContainer(oData); } var s_bMobile; var s_bAudioActive = true; var s_iCntTime = 0; var s_iTimeElaps = 0; var s_iPrevTime = 0; var s_iCntFps = 0; var s_iCurFps = 0; var s_oSoundTrack = null; var s_oDrawLayer; var s_oStage; var s_oMain; var s_oSpriteLibrary; var s_oGameSettings; var s_aSounds;