@@ -27,7 +27,7 @@ var StaticTilemap = new Class({
2727
2828 initialize :
2929
30- function StaticTilemap ( state , mapData , x , y , tileWidth , tileHeight , mapWidth , mapHeight , texture , frame )
30+ function StaticTilemap ( state , mapData , x , y , tileWidth , tileHeight , mapWidth , mapHeight , tileBorder , texture , frame )
3131 {
3232 GameObject . call ( this , state , 'StaticTilemap' ) ;
3333
@@ -45,6 +45,7 @@ var StaticTilemap = new Class({
4545 this . vertexCount = 0 ;
4646 this . cullStart = 0 ;
4747 this . cullEnd = 0 ;
48+ this . tileBorder = tileBorder ;
4849 this . setTexture ( texture , frame ) ;
4950 this . setPosition ( x , y ) ;
5051 this . setSizeToFrame ( ) ;
@@ -62,8 +63,11 @@ var StaticTilemap = new Class({
6263 var vbo = this . vbo ;
6364 var mapWidth = this . mapWidth ;
6465 var mapHeight = this . mapHeight ;
66+ var border = this . tileBorder ;
6567 var tileWidth = this . tileWidth ;
6668 var tileHeight = this . tileHeight ;
69+ var tileWidthBorder = tileWidth + border * 2 ;
70+ var tileHeightBorder = tileHeight + border * 2 ;
6771 var bufferData = this . bufferData ;
6872 var bufferF32 , bufferU32 ;
6973 var voffset = 0 ;
@@ -89,10 +93,10 @@ var StaticTilemap = new Class({
8993 for ( var x = 0 ; x < mapWidth ; ++ x )
9094 {
9195 var tileId = mapData [ y * mapWidth + x ] ;
92- var halfTileWidth = ( tileWidth ) * 0.5 ;
93- var halfTileHeight = ( tileHeight ) * 0.5 ;
94- var rectx = ( ( ( tileId % setWidth ) | 0 ) * tileWidth ) + halfTileWidth ;
95- var recty = ( ( ( tileId / setWidth ) | 0 ) * tileHeight ) + halfTileHeight ;
96+ var halfTileWidth = ( tileWidthBorder ) * 0.5 ;
97+ var halfTileHeight = ( tileHeightBorder ) * 0.5 ;
98+ var rectx = ( ( ( tileId % setWidth ) | 0 ) * tileWidthBorder ) + halfTileWidth ;
99+ var recty = ( ( ( tileId / setWidth ) | 0 ) * tileHeightBorder ) + halfTileHeight ;
96100 var tx = x * tileWidth ;
97101 var ty = y * tileHeight ;
98102 var txw = tx + tileWidth ;
0 commit comments