// HTML ELEMENT GLOBALS
var canvas;
var stats;
var sschar;
var ssicon;
var MALE = 1;
var FEMALE = 2;
// CREATEJS GLOBALS
var stage;
var preloader;
var loader;
// CREATINE GLOBALS
var director;
var display;
var device;
// FUNCTIONS
var RANDINT = function(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
// GAME GLOBALS
var registry;
var preloadManifest = [
// Keep the minumum necessary here!
{id:'logo_creatine', src:'assets/powered_creatine.png'},
]
var loadManifest = [
{id:'bmp_buttonstart', src:'assets/button_start.png'},
{id:'bmp_buttoncredits', src:'assets/button_credits.png'},
{id:'bmp_buttonmenu', src:'assets/button_menu.png'},
{id:'bmp_buttonback', src:'assets/button_back.png'},
{id:'bmp_buttonlevel', src:'assets/button_level.png'},
{id:'img_menu', src:'assets/menu.png'},
{id:'img_credits', src:'assets/credits.png'},
{id:'img_select', src:'assets/select.png'},
{id:'img_pretutorial', src:'assets/pretutorial.png'},
{id:'img_win', src:'assets/win.png'},
{id:'img_levelBackground', src:'assets/level/background2.png'},
{id:'img_levelCloud1', src:'assets/level/cloud1.png'},
{id:'img_levelCloud2', src:'assets/level/cloud2.png'},
{id:'img_levelCloud3', src:'assets/level/cloud3.png'},
{id:'img_levelRain', src:'assets/level/rain.png'},
{id:'img_levelSun', src:'assets/level/sun.png'},
{id:'img_levelBench', src:'assets/level/bench.png'},
{id:'img_levelBird', src:'assets/level/bird.png'},
{id:'img_levelShit', src:'assets/level/shit.png'},
{id:'img_chars', src:'assets/chars.png'},
{id:'img_icons', src:'assets/icons.png'},
// Data
{id:'dat_general', src:'assets/data/general.json'},
{id:'dat_level1', src:'assets/data/level1.json'},
]
function start() {
verifyDependences();
preloadAssets();
}
function verifyDependences() {
try {
!!localStorage.getItem;
} catch (error) {
window.localStorage = {}
}
if (typeof(localStorage['loveCraft.bestLevel']) === 'undefined') {
localStorage['loveCraft.bestLevel'] = 1;
}
}
function preloadAssets() {
preloader = new createjs.LoadQueue(true);
preloader.on('complete', onPreloadComplete);
preloader.loadManifest(preloadManifest);
}
function onPreloadComplete(event) {
/** Get the canvas element **/
canvas = document.getElementById('canvas');
canvas.onselectstart = function () { return false; }
/** Stats settings **/
stats = new Stats();
// stats.domElement.style.position = 'absolute';
// stats.domElement.style.left = '0px';
// stats.domElement.style.top = '0px';
// document.body.appendChild(stats.domElement);
/** Create and initialize the CreateJS objects **/
stage = new createjs.Stage(canvas);
loader = new createjs.LoadQueue(true);
/** Create and initialize the Creatine objects **/
director = new creatine.Director(stage);
display = new creatine.Display(canvas);
device = new creatine.Device(canvas);
/** Create and initialize the Game objects **/
registry = {};
/** Display settings **/
display.setUserSelect(false);
display.setTouchAction(false);
// display.setSmoothingEnabled(true);
stage.snapToPixelEnabled = true;
/** Ticker settings **/
createjs.Ticker.setFPS(60);
createjs.Ticker.addEventListener('tick', onUpdate);
/** Create the preload scene **/
var preloadScene = new PreloadScene();
director.push(preloadScene);
/** Initialize the asset loading **/
loader.loadManifest(loadManifest);
}
function onUpdate(event) {
stats.begin();
event.fdelta = event.delta/1000.;
if (director.scene) {
director.scene.onUpdate(event)
}
stage.update();
stats.end();
}