That Guy
Meubilair
- Lid geworden
- 28 nov 2006
- Berichten
- 5.010
Yo,
Ik heb een raar geval met een map. For starters, check de site: http://jtile.void-studios.com/ [getest in FF3, werkt NIET in IE]. Wacht even tot-ie geladen is, dan zal je de map zelf zien verschijnen.
Je kan met de pijltjes bewegen. Als je naar links of rechts gaat, zal je 'buiten' de map terecht komen. Die tiles worden automatisch zwart gemaakt. Dit werkt goed voor links, boven en rechts. Echter, als je naar beneden gaat (y+) dan zit er opeens een fout in.
De map wordt zo gechecked:
(http://jtile.void-studios.com/engine/map.js)
wat, logisch geredeneerd, zou moeten werken. Het werkt dus wel, maar alleen voor links, top en rechts.
De map staat hier: [ http://jtile.void-studios.com/games/route101.json ] - in JSON formaat. Het spreekt voor zichzelf. Images zijn overgens base64 gecodeerd, de 'image' in de map[] staan voor de Id's van bovenstaande Images.
Iemand die weet hoe dit kan? Om te checken heb ik overgens een debug-output geplaatst in het console, deze kan je bekijken via de 'pause/break' knop op je keyboard. Het ziet er zo uit: (voorbeeld error)
Wat overgens ook zo is: de y-as error komt alleen bij een bepaalde x (8 vanaf links,11 van rechts (tussen de 8 en 12 zit dus het probleem))
:thumb:
Ik heb een raar geval met een map. For starters, check de site: http://jtile.void-studios.com/ [getest in FF3, werkt NIET in IE]. Wacht even tot-ie geladen is, dan zal je de map zelf zien verschijnen.
Je kan met de pijltjes bewegen. Als je naar links of rechts gaat, zal je 'buiten' de map terecht komen. Die tiles worden automatisch zwart gemaakt. Dit werkt goed voor links, boven en rechts. Echter, als je naar beneden gaat (y+) dan zit er opeens een fout in.
De map wordt zo gechecked:
PHP:
//js snippet
var dy = this.playerY + this.playerYOffset + y;
var dx = this.playerX + this.playerXOffset + x;
if( (dy < 0) || (dy >= mapdata.height) || (dx < 0) || (dx >= mapdata.width) ){
id = this.preFillMap.length - 1; //dit is de zwarte tile
}else{
id = mapdata.map[dy][dx].image; //de tile, als ie bestaat
}
wat, logisch geredeneerd, zou moeten werken. Het werkt dus wel, maar alleen voor links, top en rechts.
De map staat hier: [ http://jtile.void-studios.com/games/route101.json ] - in JSON formaat. Het spreekt voor zichzelf. Images zijn overgens base64 gecodeerd, de 'image' in de map[] staan voor de Id's van bovenstaande Images.
Iemand die weet hoe dit kan? Om te checken heb ik overgens een debug-output geplaatst in het console, deze kan je bekijken via de 'pause/break' knop op je keyboard. Het ziet er zo uit: (voorbeeld error)
error: id:121 (preFill 0 to 122
x:10, y:9
dx: 9, dy:17
Error: uncaught exception: [Exception... "The type of an object is incompatible with the expected type of the parameter associated to the object" code: "17" nsresult: "0x80530011 (NS_ERROR_DOM_TYPE_MISMATCH_ERR)" location: "engine/map.js Line: 68"] in file at line 0 (ε 1)
Wat overgens ook zo is: de y-as error komt alleen bij een bepaalde x (8 vanaf links,11 van rechts (tussen de 8 en 12 zit dus het probleem))
:thumb:
Laatst bewerkt: