Online Book Reader

Home Category

HTML5 Canvas [163]

By Root 6385 0
'#ffffff';

context.beginPath();

//draw everything offset by 1/2.

//Zero Relative 1/2 is if .5*width -1. Same for height

context.moveTo(-(tempRock.halfWidth-1),-(tempRock.halfHeight-1));

context.lineTo((tempRock.halfWidth-1),-(tempRock.halfHeight-1));

context.lineTo((tempRock.halfWidth-1),(tempRock.halfHeight-1));

context.lineTo(-(tempRock.halfWidth-1),(tempRock.halfHeight-1));

context.lineTo(-(tempRock.halfWidth-1),-(tempRock.halfHeight-1));

context.stroke();

context.closePath();

context.restore(); //pop old state on to screen

}

}

function renderSaucers() {

var tempSaucer = {};

var saucerLength = saucers.length-1;

for (var saucerCtr=saucerLength;saucerCtr>=0;saucerCtr--){

//ConsoleLog.log("saucer: " + saucerCtr);

tempSaucer = saucers[saucerCtr];

context.save(); //save current state in stack

context.setTransform(1,0,0,1,0,0); // reset to identity

//translate the canvas origin to the center of the player

//context.translate(this.x+halfWidth,this.y+halfHeight);

context.translate(tempSaucer.x,tempSaucer.y);

context.strokeStyle = '#ffffff';

context.beginPath();

//did not move to middle because it is drawn in exact space

context.moveTo(4,0);

context.lineTo(9,0);

context.lineTo(12,3);

context.lineTo(13,3);

context.moveTo(13,4);

context.lineTo(10,7);

context.lineTo(3,7);

context.lineTo(1,5);

context.lineTo(12,5);

context.moveTo(0,4);

context.lineTo(0,3);

context.lineTo(13,3);

context.moveTo(5,1);

context.lineTo(5,2);

context.moveTo(8,1);

context.lineTo(8,2);

context.moveTo(2,2);

context.lineTo(4,0);

context.stroke();

context.closePath();

context.restore(); //pop old state on to screen

}

}

function renderSaucerMissiles() {

var tempSaucerMissile = {};

var saucerMissileLength = saucerMissiles.length-1;

//ConsoleLog.log("saucerMissiles= " + saucerMissiles.length)

for (var saucerMissileCtr=saucerMissileLength;

saucerMissileCtr>=0;saucerMissileCtr--){

//ConsoleLog.log("draw player missile " + playerMissileCtr)

tempSaucerMissile = saucerMissiles[saucerMissileCtr];

context.save(); //save current state in stack

context.setTransform(1,0,0,1,0,0); // reset to identity

//translate the canvas origin to the center of the player

context.translate(tempSaucerMissile.x+1,tempSaucerMissile.y+1);

context.strokeStyle = '#ffffff';

context.beginPath();

//draw everything offset by 1/2. Zero Relative 1/2 is 15

context.moveTo(-1,-1);

context.lineTo(1,-1);

context.lineTo(1,1);

context.lineTo(-1,1);

context.lineTo(-1,-1);

context.stroke();

context.closePath();

context.restore(); //pop old state on to screen

}

}

function renderParticles() {

var tempParticle = {};

var particleLength = particles.length-1;

for (var particleCtr=particleLength;particleCtr>=0;particleCtr--){

tempParticle = particles[particleCtr];

context.save(); //save current state in stack

context.setTransform(1,0,0,1,0,0); // reset to identity

//translate the canvas origin to the center of the player

context.translate(tempParticle.x,tempParticle.y);

context.strokeStyle = '#ffffff';

context.beginPath();

//draw everything offset by 1/2. Zero Relative 1/2 is 15

context.moveTo(0,0);

context.lineTo(1,1);

context.stroke();

context.closePath();

context.restore(); //pop old state on to screen

}

}

function checkCollisions() {

//loop through rocks then missiles. There will always be rocks and a ship,

//but there will not always be missiles.

var tempRock = {};

var rocksLength = rocks.length-1;

var tempPlayerMissile = {};

var playerMissileLength = playerMissiles.length-1;

var saucerLength = saucers.length-1;

var tempSaucer = {};

var saucerMissileLength = saucerMissiles.length-1;

rocks: for (var rockCtr=rocksLength;rockCtr>=0;rockCtr--){

tempRock = rocks[rockCtr];

missiles:for (var playerMissileCtr=playerMissileLength;

playerMissileCtr>=0;playerMissileCtr--){

tempPlayerMissile = playerMissiles[playerMissileCtr];

if (boundingBoxCollide(tempRock,tempPlayerMissile)){

//ConsoleLog.log("hit rock");

createExplode(tempRock.x+tempRock.halfWidth,

Return Main Page Previous Page Next Page

®Online Book Reader