我正在尝试使用 p5.js 制作一个 html5 游戏,我尝试实现的第一件事是绘制瓷砖地图,但我的代码不起作用。
我使用嵌套循环来绘制瓷砖,但我需要更快的速度,我发现了另一种使用一维数组绘制瓷砖的算法,我尝试过该算法,但它不起作用,我不知道为什么?
let tileset;
let map = [
0, 0, 0,
0, 0, 0,
1, 1, 1
];
function preload() {
tileset = loadImage("./tileset.png");
}
function setup() {
createCanvas(500, 500);
}
function draw() {
background(0);
drawTiles(map, 3, 11);
}
function drawTiles(map, cols, tilesize) {
for (let i = map.length - 1; i > -1; --i) {
let value = map[i];
// source x , y
let sx = (value % cols) * tilesize;
let sy = Math.floor(value / cols) * tilesize;
// distenation x , y
let dx = (i % cols) * tilesize;
let dy = Math.floor(i / cols) * tilesize;
// render image
image(tileset, sx, sy, tilesize, tilesize, dx, dy, tilesize, tilesize);
}
}
ABOUTYOU
jeck猫
随时随地看视频慕课网APP
相关分类