Problema con JS para desarrollo de videojuegos
Publicado por Luis (1 intervención) el 30/06/2020 16:56:33
Estoy tratando de resolver este error que tengo en mi código fuente pero no se como arreglarlo, estoy mirando los tutoriales de JAVA DEV sobre este tema de la programación, se suponía que con este código ya podría visualizar mi archivo JSON de mapa creado en Tiled dentro del navegador Chrome pero cuando voy a mirar la consola de desarrollador me aparece este resultado:
Tile.js?1593528065:20 Uncaught TypeError: Cannot read property 'rutaHojaOrigen' of undefined
at Tile.aplicarEstilos (Tile.js?1593528065:20)
at Mapa.iniciarRejilla (Mapa.js?1593528065:60)
at new Mapa (Mapa.js?1593528065:16)
at EstadoMapamundi.js?1593528065:6
at XMLHttpRequest.peticion.onreadystatechange (ajax.js?1593528065:1
Por favor ayúdenme, ya e tratado de resolver el error desde casi una semana entera.
Tengo estos dos códigos de dos archivos distintos de JS para referirse a 'rutaHojaOrigen':
Tile.js?1593528065:20 Uncaught TypeError: Cannot read property 'rutaHojaOrigen' of undefined
at Tile.aplicarEstilos (Tile.js?1593528065:20)
at Mapa.iniciarRejilla (Mapa.js?1593528065:60)
at new Mapa (Mapa.js?1593528065:16)
at EstadoMapamundi.js?1593528065:6
at XMLHttpRequest.peticion.onreadystatechange (ajax.js?1593528065:1
Por favor ayúdenme, ya e tratado de resolver el error desde casi una semana entera.
Tengo estos dos códigos de dos archivos distintos de JS para referirse a 'rutaHojaOrigen':
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Sprite:
function Sprite(ruta, idSobreZero, posicionEnHoja) {
var elementosRuta = ruta.split("/");
this.rutaHojaOrigen = "img/" + elementosRuta[elementosRuta.length - 1];
this.idSobreZero = idSobreZero;
this.idSobreUno = idSobreZero + 1;
this.posicionEnHoja = posicionEnHoja;
}
Tile:
function Tile(xEnTiles, yEnTiles, z, ancho, alto, sprite) {
this.rectangulo = new Rectangulo(xEnTiles, yEnTiles, ancho, alto);
this.zIndex = z;
this.sprite = sprite;
this.idHTML = "x" + xEnTiles + "y" + yEnTiles + "z" + z;
this.html = '<div id="' + this.idHTML + '"></div>';
}
Tile.prototype.aplicarEstilos = function() {
if (!document.getElementById(this.idHTML)) {
throw("El ID " + this.idHTML + " no existe en la hoja");
}
document.getElementById(this.idHTML).style.position = "absolute";
document.getElementById(this.idHTML).style.left = (this.rectangulo.x * this.rectangulo.ancho) + "px";
document.getElementById(this.idHTML).style.top = (this.rectangulo.y * this.rectangulo.alto) + "px";
document.getElementById(this.idHTML).style.width = this.rectangulo.ancho + "px";
document.getElementById(this.idHTML).style.height = this.rectangulo.alto + "px";
document.getElementById(this.idHTML).style.zIndex = "" + this.zIndex;
document.getElementById(this.idHTML).style.background = "url('" + this.sprite.rutaHojaOrigen + "')";
var x = this.sprite.posicionEnHoja.x;
var y = this.sprite.posicionEnHoja.y;
document.getElementById(this.idHTML).style.backgroundPosition = "-" + x + "px -" + y + "px";
document.getElementById(this.idHTML).style.backgroundClip = "border-box";
document.getElementById(this.idHTML).style.outline = "1px solid transparent";
}
Tile.prototype.mover = function(x, y) {
document.getElementById(this.idHTML).style.transform = 'translate3d(' + x + 'px,' + y + 'px, 0)';
}
Valora esta pregunta


0