Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

360
Views
obteniendo un error de sintaxis inesperado < en JSON en la posición 0

No tengo ningún archivo JSON en este programa, solo js y html. Mi teoría es que el programa ejecuta el html como un archivo JSON. Estoy usando replit y kaboom para ejecutar el juego.

Código HTML:

 <!DOCTYPE html> <html> <head> <title>kaboom</title> <meta charset="utf-8"> <style> * { margin: 0; } html, body { width: 100%; height: 100%; overflow: hidden; } canvas { display: block; } </style> </head> <body> {{kaboom}} </body> </html>

codigo js:

 import kaboom from "kaboom"; // initialize context kaboom(); scene(); const SPEED = 320 var METEORX = 2 const NiceX = 20 //onsole.log(str(METEORX)) // load assets loadSprite("grass", "sprites/grass.png"); loadSprite("Player", "sprites/Player.png"); loadPedit("meteor", "sprites/meteor.pedit"); loadPedit("air Meteor", "sprites/air Meteor.pedit"); // add a character to screen const meteor = add ([ sprite("air Meteor"), pos(rand(0, width()), 40), area(), move(DOWN, 300), "meteor", "enemy", cleanup(20) ]) var player = add([ // list of components "player", sprite("Player"), pos(center()), area(), body(), health(3) ]); add([ rect(width(), 48), "ground", pos(0, height() - 48), outline(4), area(), solid(), color(127, 200, 255), ]) onCollide("player", "enemy", () => { player.hurt(1.5) }) loadPedit("ground meteor", "sprites/ground meteor.pedit"); var difficulty = 5; onCollide("enemy", (niceMeteor) => { addExplosion() destroy(niceMeteor) }) onKeyPress("space", () => { if (player.grounded()) { player.jump() } }) onKeyDown("d", () => { player.move(SPEED, 0) }) onKeyDown("a", () => { player.move(-SPEED, 0) })
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El escenario más probable es que uno de los sprites que ha especificado no exista. En este caso, también debería ver un error: ERROR: sprite not found: "<your sprite name here>" . (Creo que es un error que Kaboom intente analizar la respuesta como JSON en este caso, porque obtiene una respuesta 404 con texto/html de tipo de contenido).

Otra posibilidad, aunque improbable, es que uno de tus archivos de sprites esté corrupto. El formato de archivo .pedit de Kaboom es en realidad un archivo JSON con datos de imagen incrustados como base64:

 { "version": "1", "width": 32, "height": 32, "palette": [[0,0,0,255],[255,255,255,255],[255,255,128,255],[255,128,255,255],[0,128,128,255],[128,0,255,255],[255,0,128,255],[0,255,255,255]], "anims": { "Test": {"from":0,"to":1,"loop":true} }, "frames":[ "data:image/png;base64,...", "data:image/png;base64,..." ] }

Entonces, si uno de esos archivos se corrompió durante la edición, eso también podría causar este error. Normalmente, para resolver esto, le sugiero que busque en el seguimiento de la pila el error que se está generando, que es visible en la consola de desarrollador de su navegador web. Sin embargo, Kaboom no produce buenos seguimientos de pila para las llamadas a loadPedit . Por lo tanto, lo mejor que puede hacer es poner algunas declaraciones de console.log('loading sprite XXX') antes de cada llamada de carga. Una vez que sepa qué archivo pedit no es válido, puede cambiar el nombre de ese archivo de whatever.pedit que sea.pedir a whatever.json que sea.json e inspeccionar el contenido en su repl.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!