bobek/game.js
2019-10-19 09:52:20 +02:00

97 lines
2.2 KiB
JavaScript

const scrn = document.getElementById('canvas');
const sctx = scrn.getContext("2d");
sctx.fillStyle = "#30c0df";
let frames = 0;
const gnd = {
animations :
[
{sprite : new Image()},
{sprite : new Image()},
],
x : 0,
y :0,
frame : 0,
draw : function() {
y = parseFloat(scrn.height-this.animations[this.frame].sprite.height);
sctx.drawImage(this.animations[this.frame].sprite,this.x,y);
},
update : function(){
this.frame += (frames%10==0) ? 1 : 0;
this.frame = this.frame%this.animations.length;
}
};
const bg = {
sprite : new Image(),
x : 0,
y :0,
draw : function() {
y = parseFloat(scrn.height-this.sprite.height);
sctx.drawImage(this.sprite,this.x,y);
}
};
const gr = {
sprite : new Image(),
x : 0,
y :0,
draw : function() {
y = parseFloat(scrn.height-this.sprite.height)/2;
x = parseFloat(scrn.width-this.sprite.width)/2;
sctx.drawImage(this.sprite,x,y);
}
};
const bird = {
animations :
[
{sprite : new Image()},
{sprite : new Image()},
{sprite : new Image()},
{sprite : new Image()},
],
x : 13,
y :100,
frame:0,
draw : function() {
sctx.drawImage(this.animations[this.frame].sprite,this.x,this.y);
},
update : function() {
this.frame += (frames%10==0) ? 1 : 0;
this.frame = this.frame%this.animations.length;
this.y += (frames%10==0) ? (Math.random()-0.5)*2 : 0;
}
};
gnd.animations[0].sprite.src="img/ground/g0.png";
gnd.animations[1].sprite.src="img/ground/g1.png";
bg.sprite.src="img/BG.png";
gr.sprite.src="img/getready.png";
bird.animations[0].sprite.src="img/bird/b0.png";
bird.animations[1].sprite.src="img/bird/b1.png";
bird.animations[2].sprite.src="img/bird/b2.png";
bird.animations[3].sprite.src="img/bird/b0.png";
console.log(gnd.sprite);
gameLoop();
function gameLoop()
{
update();
draw();
frames++;
requestAnimationFrame(gameLoop);
}
function update()
{
bird.update();
gnd.update();
}
function draw()
{
sctx.fillRect(0,0,scrn.width,scrn.height)
bg.draw();
gnd.draw();
bird.draw();
gr.draw();
}