mirror of
https://github.com/pyscript/pyscript.git
synced 2022-05-01 19:47:48 +03:00
35 lines
975 B
JavaScript
35 lines
975 B
JavaScript
(function() {
|
|
if (typeof Mario === 'undefined')
|
|
window.Mario = {};
|
|
|
|
var Entity = Mario.Entity = function(options) {
|
|
this.vel = [0,0];
|
|
this.acc = [0,0];
|
|
this.standing = true;
|
|
this.pos = options.pos;
|
|
this.sprite = options.sprite;
|
|
this.hitbox = options.hitbox;
|
|
this.left = false;
|
|
}
|
|
|
|
Entity.prototype.render = function(ctx, vX, vY) {
|
|
this.sprite.render(ctx, this.pos[0], this.pos[1], vX, vY)
|
|
}
|
|
|
|
Entity.prototype.collideWall = function(wall) {
|
|
//the wall will always be a 16x16 block with hitbox = [0,0,16,16].
|
|
if (this.pos[0] > wall.pos[0]) {
|
|
//from the right
|
|
this.pos[0] = wall.pos[0] + wall.hitbox[2] - this.hitbox[0];
|
|
this.vel[0] = Math.max(0, this.vel[0]);
|
|
this.acc[0] = Math.max(0, this.acc[0]);
|
|
} else {
|
|
this.pos[0] = wall.pos[0] + wall.hitbox[0] - this.hitbox[2] - this.hitbox[0];
|
|
this.vel[0] = Math.min(0, this.vel[0]);
|
|
this.acc[0] = Math.min(0, this.acc[0]);
|
|
}
|
|
}
|
|
|
|
Entity.prototype.bump = function() {;}
|
|
})();
|