我在这里创建了 p5 代码,以使用文本文件创建轨道。我相信它们被称为瓷砖地图。
我正在使用在线编辑器并将 .png 保存在与代码相同的文件夹中名为 sprites 的文件夹中。有没有人知道为什么会发生这种情况以及我的代码中是否有任何错误。提前致谢!
这是名为 track.txt 的 .txt 文件中的地图
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 1 1 1 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 1 1 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 1 0 0 0
0 0 1 1 0 0 0 0 0 0 0 1 0 0 0
0 1 1 0 0 0 0 0 0 0 0 1 0 0 0
0 1 0 0 1 1 1 0 0 1 1 1 0 0 0
0 1 0 0 1 0 1 0 0 1 0 0 0 0 0
0 1 0 0 1 0 1 0 0 1 1 1 1 1 0
0 2 0 0 1 0 1 1 0 0 0 0 1 1 0
0 1 0 0 1 0 0 1 1 0 0 0 0 1 0
0 1 0 0 1 0 0 0 1 0 0 0 0 1 0
0 1 1 1 1 0 0 0 1 0 0 0 1 1 0
0 0 1 1 0 0 0 0 1 1 1 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This is the code:
let track = [];
let images = [];
function preload() {
images[0] = loadImage("sprites/grass.png");
images[1] = loadImage("sprites/road.png");
images[2] = loadImage("sprites/finish.png");
}
function setup() {
createCanvas(400, 400);
loadStrings("track.txt", getTrack);
}
function getTrack(arr){
for(let i = 0; i < arr.length; i++)
{
let line = arr[i].trim(); //This is to make sure trailing spaces don't break the code
let tempArr = line.split(" ");
track.push(tempArr);
}
}
function getImage(col, row) {
return images[track[col][row]];
}