var stage; var canvas; var director; var loader; var device; var display; var libs; var registry; var manifest = [ {id:'background', src:'assets/background.png'}, {id:'ship', src:'assets/ship.png'}, {id:'creep1', src:'assets/creep1.png'}, {id:'creep2', src:'assets/creep2.png'}, {id:'creep3', src:'assets/creep3.png'}, {id:'creep4', src:'assets/creep4.png'}, {id:'creep5', src:'assets/creep5.png'}, {id:'ktulu', src:'assets/ktulu.png'}, {id:'shadow', src:'assets/shadowtop.png'}, {id:'button_start', src:'assets/button_start.png'}, {id:'button_credits', src:'assets/button_credits.png'}, {id:'button_back', src:'assets/button_back.png'}, {id:'button_submit', src:'assets/button_submit.png'}, {id:'button_replay', src:'assets/button_replay.png'}, {id:'button_mute', src:'assets/button_mute.png'}, {id:'weapon1', src:'assets/weapon1.png'}, {id:'weapon2', src:'assets/weapon2.png'}, {id:'weapon3', src:'assets/weapon3.png'}, {id:'weapon4', src:'assets/weapon4.png'}, {id:'weapon5', src:'assets/weapon5.png'}, {id:'weapon6', src:'assets/weapon6.png'}, {id:'weapon7', src:'assets/weapon7.png'}, {id:'weapon_indicator', src:'assets/weapon_indicator.png'}, {id:'weaponbox1', src:'assets/weaponbox1.png'}, {id:'weaponbox2', src:'assets/weaponbox2.png'}, {id:'weaponbox3', src:'assets/weaponbox3.png'}, {id:'weaponbox4', src:'assets/weaponbox4.png'}, {id:'weaponbox5', src:'assets/weaponbox5.png'}, {id:'weaponbox6', src:'assets/weaponbox6.png'}, {id:'weaponbox7', src:'assets/weaponbox7.png'}, ] function start() { verifyDependences(); canvas = document.getElementById('canvas'); stage = new createjs.Stage(canvas); director = new creatine.Director(stage); display = new creatine.Display(canvas); device = new creatine.Device(canvas); loader = new createjs.LoadQueue(true); libs = new Libs(canvas); libs.loadLibs(); registry = {}; registry.gameMusic = null; display.setUserSelect(false); display.setTouchAction(false); display.setSmoothingEnabled(true); stage.snapToPixelEnabled = true; loader.installPlugin(createjs.Sound); createjs.Sound.alternateExtensions = ['ogg', 'mp3']; if (device.firefox||device.chrome||device.opera) { manifest.push({id:'music_level', src:'assets/music.ogg'}); manifest.push({id:'music_menu', src:'assets/menu.ogg'}); manifest.push({id:'sound_ktulu', src:'assets/ktulu.ogg'}); manifest.push({id:'sound_weapon1', src:'assets/weapon1.ogg'}); manifest.push({id:'sound_weapon2', src:'assets/weapon2.ogg'}); manifest.push({id:'sound_weapon3', src:'assets/weapon3.ogg'}); manifest.push({id:'sound_weapon4', src:'assets/weapon4.ogg'}); manifest.push({id:'sound_weapon5', src:'assets/weapon5.ogg'}); manifest.push({id:'sound_explosion1', src:'assets/explosion1.ogg'}); manifest.push({id:'sound_explosion2', src:'assets/explosion2.ogg'}); manifest.push({id:'sound_explosion3', src:'assets/explosion3.ogg'}); manifest.push({id:'sound_dead', src:'assets/dead.ogg'}); manifest.push({id:'sound_overheat', src:'assets/overheat.ogg', data:1}); } else { manifest.push({id:'music_level', src:'assets/music.mp3'}); manifest.push({id:'music_menu', src:'assets/menu.mp3'}); manifest.push({id:'sound_ktulu', src:'assets/ktulu.mp3'}); manifest.push({id:'sound_weapon1', src:'assets/weapon1.mp3'}); manifest.push({id:'sound_weapon2', src:'assets/weapon2.mp3'}); manifest.push({id:'sound_weapon3', src:'assets/weapon3.mp3'}); manifest.push({id:'sound_weapon4', src:'assets/weapon4.mp3'}); manifest.push({id:'sound_weapon5', src:'assets/weapon5.mp3'}); manifest.push({id:'sound_explosion1', src:'assets/explosion1.mp3'}); manifest.push({id:'sound_explosion2', src:'assets/explosion2.mp3'}); manifest.push({id:'sound_explosion3', src:'assets/explosion3.mp3'}); manifest.push({id:'sound_dead', src:'assets/dead.mp3'}); manifest.push({id:'sound_overheat', src:'assets/overheat.mp3', data:1}); } createjs.Ticker.setFPS(60); createjs.Ticker.addEventListener('tick', onUpdate); createjs.Ticker.useRAF = true; var preloadScene = new PreloadScene(); director.push(preloadScene); loader.on('complete', onLoadComplete); loader.loadManifest(manifest); } function verifyDependences() { try { !!localStorage.getItem; } catch (error) { window.localStorage = {} } if (typeof(localStorage['btsHighScore']) === 'undefined') { localStorage['btsHighScore'] = 0 } if (typeof(localStorage['btsSoundVolume']) === 'undefined') { localStorage['btsSoundVolume'] = 1 } } function onLoadComplete(event) { createjs.Sound.setVolume(localStorage['btsSoundVolume']); director.replace( new IntroScene(), // new MenuScene(), // new LevelScene(), // new CreditsScene(), new creatine.transitions.FadeInOut(null, 1000) ); // director.replace(); // director.replace(); } function onUpdate(event) { event.fdelta = event.delta/1000.; if (director.scene) director.scene.onUpdate(event) stage.update(); }