Online Book Reader

Home Category

HTML5 Canvas [162]

By Root 6517 0
{

tempSaucerMissile.x=-tempSaucerMissile.width;

}else if (tempSaucerMissile.x<-tempSaucerMissile.width){

tempSaucerMissile.x = xMax;

}

if (tempSaucerMissile.y > yMax) {

tempSaucerMissile.y=-tempSaucerMissile.height;

}else if (tempSaucerMissile.y<-tempSaucerMissile.height){

tempSaucerMissile.y = yMax;

}

tempSaucerMissile.lifeCtr++;

if (tempSaucerMissile.lifeCtr > tempSaucerMissile.life){

//remove

saucerMissiles.splice(saucerMissileCtr,1)

tempSaucerMissile = null;

}

}

}

function updateParticles() {

var tempParticle = {};

var particleLength = particles.length-1;

//ConsoleLog.log("particle=" + particleLength)

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

var remove = false;

tempParticle = particles[particleCtr];

tempParticle.x += tempParticle.dx;

tempParticle.y += tempParticle.dy;

tempParticle.lifeCtr++;

//ConsoleLog.log("particle.lifeCtr=" + tempParticle.lifeCtr);

//try{

if (tempParticle.lifeCtr > tempParticle.life){

remove = true;

} else if ((tempParticle.x > xMax) || (tempParticle.x|| (tempParticle.y > yMax) || (tempParticle.y

remove = true;

}

//}

//catch(err) {

// ConsoleLog.log ("error in particle");

// ConsoleLog.log("particle:" + particleCtr);

//}

if (remove) {

particles.splice(particleCtr,1)

tempParticle = null;

}

}

}

function renderPlayerShip(x,y,rotation, scale) {

//transformation

var angleInRadians = rotation * Math.PI / 180;

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(x+player.halfWidth,y+player.halfHeight);

context.rotate(angleInRadians);

context.scale(scale,scale);

//drawShip

context.strokeStyle = '#ffffff';

context.beginPath();

//hardcoding in locations

//facing right

context.moveTo(-10,-10);

context.lineTo(10,0);

context.moveTo(10,1);

context.lineTo(-10,10);

context.lineTo(1,1);

context.moveTo(1,-1);

context.lineTo(-10,-10);

if (player.thrust==true && scale==1) {

//check for scale==1 for ship indicator does not display with thrust

context.moveTo(-4,-2);

context.lineTo(-4,1);

context.moveTo(-5,-1);

context.lineTo(-10,-1);

context.moveTo(-5,0);

context.lineTo(-10,0);

}

context.stroke();

context.closePath();

//restore context

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

}

function renderPlayerMissiles() {

var tempPlayerMissile = {};

var playerMissileLength = playerMissiles.length-1;

//ConsoleLog.log("render playerMissileLength=" + playerMissileLength);

for (var playerMissileCtr=playerMissileLength;

playerMissileCtr>=0;playerMissileCtr--){

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

tempPlayerMissile = playerMissiles[playerMissileCtr];

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(tempPlayerMissile.x+1,tempPlayerMissile.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 renderRocks() {

var tempRock = {};

var rocksLength = rocks.length-1;

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

tempRock = rocks[rockCtr];

var angleInRadians = tempRock.rotation * Math.PI / 180;

//ConsoleLog.log("render rock rotation"+(tempRock.rotation));

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(tempRock.x+tempRock.halfWidth,

tempRock.y+tempRock.halfHeight);

//ConsoleLog.log("render rock x"+(tempRock.x+tempRock.halfWidth));

//ConsoleLog.log("render rock y"+(tempRock.y+tempRock.halfHeight));

context.rotate(angleInRadians);

context.strokeStyle =

Return Main Page Previous Page Next Page

®Online Book Reader