Select Git revision
main.js 3.06 KiB
import Canvas from "../../hampsterengine/src/canvas.js";
import Engine from "../../hampsterengine/src/engine.js";
import {Room} from "../../hampsterengine/src/things.js";
import {Logo, MainMenuButton} from "./objects.js";
// Rooms
import {rm_DEBUG_button} from "./rooms/debug_button";
import {rm_DEBUG_mouse} from "./rooms/debug_mouse";
const canvas = new Canvas('canvas');
const engine = new Engine(canvas);
const assets = engine.assetStore;
canvas.width = 640;
canvas.height = 480;
canvas.pixelRatio = 2;
canvas.ctx.setTransform(canvas.pixelRatio, 0, 0, canvas.pixelRatio, 0, 0);
canvas.ctx.imageSmoothingEnabled = false;
let lastClickPos = {
x: 0, y: 0
}
window.lastClickPos = lastClickPos;
const rm_MainMenu = new Room();
rm_MainMenu.bgColor = 'black';
const logo = new Logo();
logo.x = 30;
logo.y = 45;
logo.align = 2
rm_MainMenu.things.push(logo);
const newGameButton = new MainMenuButton('New Game');
newGameButton.x = 30;
newGameButton.y = 70;
rm_MainMenu.things.push(newGameButton);
rm_MainMenu.drawGui = _ => {
canvas.setFillColor('white');
canvas.drawText("(c) bye 2024", 30, canvas.height-45,{
font: '8px serif'
});
}
engine.registerRoom(rm_MainMenu, 'mainMenu');
engine.registerRoom(rm_DEBUG_button, 'debug_button');
engine.registerRoom(rm_DEBUG_mouse, 'debug_mouse');
// const rm_DEBUG_music = new Room();
// rm_DEBUG_music.audio = document.createElement("audio");
// rm_DEBUG_music.start = _=> {
// canvas.pixelRatio =1;
// canvas.ctx.setTransform(1, 0, 0, 1, 0, 0);
//
// const player = new Soundbox();
// const audio = rm_DEBUG_music.audio;
// player.init(song);
//
// let done = false;
// setInterval(_=>{
// if (done) return;
//
// done = player.generate() >= 1;
//
// if (done) {