Online Book Reader

Home Category

HTML5 Canvas [140]

By Root 6453 0
= 20;

const STATE_RESET = 30;

const STATE_PLAYING = 40;

var appState = STATE_INIT;

var loadCount= 0;

var itemsToLoad = 0;

var alienImage = new Image();

var missileImage = new Image();

var playerImage = new Image();

const SOUND_EXPLODE = "explode1";

const SOUND_SHOOT = "shoot1";

const MAX_SOUNDS = 6;

var soundPool = new Array();

var explodeSound ;

var explodeSound2 ;

var explodeSound3 ;

var shootSound;

var shootSound2;

var shootSound3;

var audioType;

var mouseX;

var mouseY;

var player = {x:250,y:475};

var aliens = new Array();

var missiles = new Array();

const ALIEN_START_X = 25;

const ALIEN_START_Y = 25;

const ALIEN_ROWS = 5;

const ALIEN_COLS = 8;

const ALIEN_SPACING = 40;

if (!canvasSupport()) {

return;

}

var theCanvas = document.getElementById("canvasOne");

var context = theCanvas.getContext("2d");

function itemLoaded(event) {

loadCount++;

if (loadCount >= itemsToLoad) {

shootSound.removeEventListener("canplaythrough",itemLoaded, false);

shootSound2.removeEventListener("canplaythrough",itemLoaded, false);

shootSound3.removeEventListener("canplaythrough",itemLoaded, false);

explodeSound.removeEventListener("canplaythrough",itemLoaded,false);

explodeSound2.removeEventListener("canplaythrough",itemLoaded,false);

explodeSound3.removeEventListener("canplaythrough",itemLoaded,false);

soundPool.push({name:"explode1", element:explodeSound, played:false});

soundPool.push({name:"explode1", element:explodeSound2, played:false});

soundPool.push({name:"explode1", element:explodeSound3, played:false});

soundPool.push({name:"shoot1", element:shootSound, played:false});

soundPool.push({name:"shoot1", element:shootSound2, played:false});

soundPool.push({name:"shoot1", element:shootSound3, played:false});

appState = STATE_RESET;

}

}

function initApp() {

loadCount=0;

itemsToLoad = 9;

explodeSound = document.createElement("audio");

document.body.appendChild(explodeSound);

audioType = supportedAudioFormat(explodeSound);

explodeSound.setAttribute("src", "explode1." + audioType);

explodeSound.addEventListener("canplaythrough",itemLoaded,false);

explodeSound2 = document.createElement("audio");

document.body.appendChild(explodeSound2);

explodeSound2.setAttribute("src", "explode1." + audioType);

explodeSound2.addEventListener("canplaythrough",itemLoaded,false);

explodeSound3 = document.createElement("audio");

document.body.appendChild(explodeSound3);

explodeSound3.setAttribute("src", "explode1." + audioType);

explodeSound3.addEventListener("canplaythrough",itemLoaded,false);

shootSound = document.createElement("audio");

document.body.appendChild(shootSound);

shootSound.setAttribute("src", "shoot1." + audioType);

shootSound.addEventListener("canplaythrough",itemLoaded,false);

shootSound2 = document.createElement("audio");

document.body.appendChild(shootSound2);

shootSound2.setAttribute("src", "shoot1." + audioType);

shootSound2.addEventListener("canplaythrough",itemLoaded,false);

shootSound3 = document.createElement("audio");

document.body.appendChild(shootSound3);

shootSound3.setAttribute("src", "shoot1." + audioType);

shootSound3.addEventListener("canplaythrough",itemLoaded,false);

alienImage = new Image();

alienImage.onload = itemLoaded;

alienImage.src = "alien.png";

playerImage = new Image();

playerImage.onload = itemLoaded;

playerImage.src = "player.png";

missileImage = new Image();

missileImage.onload = itemLoaded;

missileImage.src = "missile.png";

appState = STATE_LOADING;

}

function startLevel() {

for (var r = 0; r < ALIEN_ROWS; r++) {

for( var c= 0; c < ALIEN_COLS; c++) {

aliens.push({speed:2,x:ALIEN_START_X+c*ALIEN_SPACING, y:ALIEN_START_Y+r*

ALIEN_SPACING,width:alienImage.width, height:alienImage.height});

}

}

}

function resetApp() {

playSound(SOUND_EXPLODE,0);

playSound(SOUND_SHOOT,0);

startLevel();

appState = STATE_PLAYING;

}

function drawScreen () {

//Move missiles

for (var i=missiles.length−1; i>= 0;i−−) {

missiles[i].y −= missiles[i].speed;

if (missiles[i].y < (0-missiles[i].height))

Return Main Page Previous Page Next Page

®Online Book Reader