caa-game/src/levels/level.js

44 lines
1.1 KiB
JavaScript

var asdf = require("asdf-games");
const { Texture, TileMap } = asdf;
const texture = new Texture("./res/placeholder.png");
const levelSize = { w: 640, h: 320 };
var levelData = [];
for (let index = 0; index < ((levelSize.w / 32) * (levelSize.h / 32)); index++) {
levelData.push({ x: 0, y: 0 });
}
class Level extends TileMap {
constructor (window, keys, player) {
super(levelData, levelSize.w / 32, levelSize.h / 32, 32, 32, texture);
this.pos.x = (window.w / 2) - (levelSize.w / 2);
this.pos.y = (window.h / 2) - (levelSize.h / 2);
this.keys = keys;
this.player = player;
}
update(dt) {
// Change walking direction
if (this.keys.x == -1) {
// Left
this.pos.x = this.pos.x + dt * (1 / this.player.rate) * 10;
}
if (this.keys.x == 1) {
// Right
this.pos.x = this.pos.x - dt * (1 / this.player.rate) * 10;
}
if (this.keys.y == -1) {
// Down
this.pos.y = this.pos.y + dt * (1 / this.player.rate) * 10;
}
if (this.keys.y == 1) {
// Up
this.pos.y = this.pos.y - dt * (1 / this.player.rate) * 10;
}
}
}
module.exports = Level;