1
\$\begingroup\$

How can I be sure that the tileset used in making a Tiled map remains as a multiple of 2, since this is a requirement of phaser when loading JSON tiled maps? I have tileset images which I got for free and they are not exactly up to phaser specs to be used.

\$\endgroup\$

1 Answer 1

0
\$\begingroup\$

You're probably referring to this:

    // May be fractional values
    var rowCount = (imageHeight - this.tileMargin * 2 + this.tileSpacing) / (this.tileHeight + this.tileSpacing);
    var colCount = (imageWidth - this.tileMargin * 2 + this.tileSpacing) / (this.tileWidth + this.tileSpacing);

    if (rowCount % 1 !== 0 || colCount % 1 !== 0)
    {
        console.warn("Phaser.Tileset - " + this.name + " image tile area is not an even multiple of tile size");
    }

So for example, if your tile size was 32x32 and your tileset image was 64x64, that's ok (32 divides into 64), but if the tileset image was 65x65, that's 1px left over and 65 doesn't divide evenly into 32.

\$\endgroup\$
2
  • \$\begingroup\$ Right, and thanks for your answer. However it does prevent the map from being loaded. \$\endgroup\$
    – kabuto178
    Commented Mar 20, 2017 at 15:19
  • \$\begingroup\$ I believe the WebGL 1.0 specs do require that images be power-of-2, so it might be that way for compatibility. \$\endgroup\$
    – Jay
    Commented Apr 17, 2019 at 23:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .