Red Circle With Perfect Collision
Red Circle With Perfect Collision
var myObstacles=[];
// left
if (keys[37]) {
deltaX -= 5;
}
// right
if (keys[39]) {
deltaX += 5;
}
// down
if (keys[38]) {
deltaY -= 5;
}
// up
if (keys[40]) {
deltaY += 5;
}
//e.preventDefault();
}
//On Key Up
function keysReleased(e) {
// mark keys that were released
keys[e.keyCode] = false;
}
moveIt.fill();
}
return requestAnimationFrame(animate);
function startGame() {
//myObstacle = new component(10, 200, "green", 300, 120);
myGameArea.start();
myGamePiece=animate();
myGamePiece=drawCircle(300, 100);
}
var myGameArea = {
canvas : document.getElementById("canvas"),
start : function() {
this.canvas.width = 900;
this.canvas.height = 300;
this.context = this.canvas.getContext("2d");
//document.body.insertBefore(this.canvas, document.body.childNodes[0]);
document.getElementById("canvas").appendChild(document.body.childNodes[2]);
this.frameNo=0;
this.interval = setInterval(updateGameArea, 20);
},
clear : function() {
this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
},
stop : function() {
clearInterval(this.interval);
}
}
function everyinterval(n) {
if ((myGameArea.frameNo / n) % 1 == 0) {return true;}
return false;
}
}
function updateGameArea() {
myGameArea.clear();
myGameArea.frameNo += 1;
if (myGameArea.frameNo == 1 || everyinterval(150)) {
x = myGameArea.canvas.width;
y=myGameArea.canvas.height;
minHeight = 20;
maxHeight = 200;
height = Math.floor(Math.random()*(maxHeight-minHeight+1)+minHeight);
minGap = 50;
maxGap = 200;
gap = Math.floor(Math.random()*(maxGap-minGap+1)+minGap);
//var testX, testY,distanceX,distanceY,dist;
//for (i = 0; i < myObstacles.length; i += 1) {
// }
/*for (i = 0; i < myObstacles.length; i += 1) {
var distX = Math.abs(deltaX - myObstacles[i].x);
var distY = Math.abs(deltaY - myObstacles[i].y);
}
for (i = 0; i < myObstacles.length; i += 1) {
myObstacles[i].x += -1;
myObstacles[i].update();
testX=deltaX;
testY=deltaY;
if (deltaX<myObstacles[i].x)
testX=myObstacles[i].x;
if(deltaX>myObstacles[i].x+myObstacles[i].width)
testX=myObstacles[i].x+myObstacles[i].width;
if (deltaY<myObstacles[i].y)
testY=myObstacles[i].y;
if(deltaY>myObstacles[i].y+myObstacles[i].height)
testY=myObstacles[i].y+myObstacles[i].height;
distanceX=deltaX-testX;
distanceY=deltaY-testY;
console.log("X"+distanceX);
console.log("Y"+distanceY)
dist=Math.sqrt(distanceX*distanceX+distanceY*distanceY);
console.log("d"+dist);
if(dist<15)
myGameArea.stop();
else{
//console.log("false");
}