He creado el código p5 debajo de aquí para crear una pista usando un archivo de texto. Creo que se llaman mapas de mosaicos.
Estoy usando un editor en línea y tengo los .png guardados en una carpeta llamada sprites en la misma carpeta que el código. ¿Alguien tiene alguna idea de por qué sucede esto y si hay algún error en mi código? ¡Gracias de antemano!
Este es el mapa en un archivo .txt llamado track.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]]; }No puedo reproducir cualquier problema que esté experimentando. Su código no tiene código de dibujo u otra forma de ver que el paso de carga está completo. Es posible que haya algún problema con sus activos, pero es imposible saberlo a partir de la información que ha proporcionado. Debe verificar la consola en busca de errores e incluir cualquier cosa relevante en su pregunta.
let track = []; let images = []; function preload() { images[0] = loadImage("https://www.paulwheeler.us/files/stackoverflow69240406/grass.png"); images[1] = loadImage("https://www.paulwheeler.us/files/stackoverflow69240406/road.png"); images[2] = loadImage("https://www.paulwheeler.us/files/stackoverflow69240406/finish.png"); } function setup() { createCanvas(400, 400); loadStrings("https://www.paulwheeler.us/files/stackoverflow69240406/track.txt", getTrack); } const imgSize = 20; const padding = 2; function draw() { background(255); for (let x = 0; x < track.length; x++) { for (let y = 0; y < track[x].length; y++) { let img = getImage(x, y); if (img) { image( img, padding + (x * (imgSize + padding)), padding + (y * (imgSize + padding)), imgSize, imgSize ); } } } } 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); } console.log('track loaded'); } function getImage(col, row) { return images[track[col][row]]; } <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.js"></script>