Individual_Project/sketch.js
2025-04-24 04:13:21 +09:00

87 lines
1.8 KiB
JavaScript

let player;
let gravity = 0.8;
let projectiles = [];
let bombs = [];
let groundY = 500;
let keys = {};
let powerUps = [];
let deathZoneY = 600;
let spriteSheets = {};
function preload() {
spriteSheets.backgrounds= loadImage("assets/Mario-Background.png");
spriteSheets.characters = loadImage("assets/Mario-Character+Item.png");
spriteSheets.specialweapon = loadImage("assets/Mario-Enemy.png");
spriteSheets.tileset = loadImage("assets/Mario-Tileset.png");
}
class Background {
constructor(dayImg, nightImg) {
this.bgDay = dayImg;
this.bgNight = nightImg;
this.mode = 'day';
this.currentImg = this.bgDay;
this.tileW = dayImg.width;
this.tileH = dayImg.height;
}
setMode(mode) {
if (mode === "day") {
this.mode = "day";
this.currentImg = this.bgDay;
}
else if (mode === "night") {
this.mode = "night";
this.currentImg = this.bgNight;
}
else {
console.log("error");
}
}
modeChange(){
this.setMode(this.mode === "day" ? "night" : "day");
}
draw() {
for (let y = 0; y < height; y += this.tileH) {
for (let x = 0; x < width; x += this.tileW) {
image(this.currentImg, x, y);
}
}
}
}
let backgroundManager;
function setup() {
createCanvas(800, 600);
const bgsource = spriteSheets.backgrounds;
const bgDay = createImage(512, 512);
bgDay.copy(bgsource,
514, 1565,
512, 512,
0, 0,
512, 512);
const bgNight = createImage(512, 512);
bgNight.copy(bgsource,
514, 5721,
512, 512,
0, 0,
512, 512);
backgroundManager = new Background(bgDay, bgNight);
}
function draw() {
backgroundManager.draw();
// 임시 바닥
fill(100);
rect(0, groundY, width, 100);
}
function keyPressed(){
if(key === ' '){//spacebar(임시시)
backgroundManager.modeChange();
}
}