我正在尝试使用 NPM 在我的画布上绘制瓷砖,我成功地做到了。我制作了一个json文件来尝试存储每个级别的tile数据并尝试加载它。但是,它给了我一个 404 not found 错误,并且当我在 Chrome 上检查它时,“levels”文件夹没有出现在源下。
不知道我做错了什么。这是 main.js 的代码:
import SpriteSheet from './SpriteSheet.js';
import {loadImage, loadLevel} from './loaders.js';
const canvas = document.getElementById('screen');
const context = canvas.getContext('2d');
context.fillRect(0, 0, 50, 50);
loadImage('/img/tiles.png')
.then(image => {
const sprites = new SpriteSheet(image, 16, 16);
sprites.define('ground', 0, 0);
sprites.define('sky', 3, 23);
loadLevel('1-1')
.then(level => {
console.log(level);
});
for (let x = 0; x < 25; ++x){
for (let y = 0; y < 14; ++y){
sprites.drawTile('sky', context, x, y);
}
}
for (let x = 0; x < 25; ++x){
for (let y = 12; y < 14; ++y){
sprites.drawTile('ground', context, x, y);
}
}
});
对于 loader.js:
export function loadImage(url){
return new Promise(resolve => {
const image = new Image();
image.addEventListener('load', () => {
resolve(image);
});
image.src = url;
});
}
export function loadLevel(name){
return fetch('/levels/${name}.json')
.then(r => r.json());
}
和 1-1.json:
{
"backgrounds": [
{
"tile": "sky",
"ranges": [
[
0, 25,
0, 14
]
]
}
]
}
我附上了我的文件夹的图像以防万一。img 包含我正在使用的 tile img,js 有 main.js 和 loaders.js,而级别只有 1-1。
哆啦的时光机
莫回无
相关分类