2017-11-27 13:33:30 +00:00
|
|
|
/**
|
2017-11-30 15:22:54 +00:00
|
|
|
* Converts from tile X coordinates (tile units) to world X coordinates (pixels), factoring in the
|
|
|
|
* layer's position, scale and scroll.
|
2017-11-27 13:33:30 +00:00
|
|
|
*
|
2017-11-29 21:07:56 +00:00
|
|
|
* @param {integer} tileX - [description]
|
2017-11-27 13:33:30 +00:00
|
|
|
* @param {Camera} [camera=main camera] - [description]
|
|
|
|
* @param {LayerData} layer - [description]
|
|
|
|
* @returns {number}
|
|
|
|
*/
|
2017-11-26 13:55:44 +00:00
|
|
|
var TileToWorldX = function (tileX, camera, layer)
|
|
|
|
{
|
2017-12-01 19:25:48 +00:00
|
|
|
var tileWidth = layer.baseTileWidth;
|
2017-11-26 13:55:44 +00:00
|
|
|
var tilemapLayer = layer.tilemapLayer;
|
|
|
|
var layerWorldX = 0;
|
|
|
|
|
|
|
|
if (tilemapLayer)
|
|
|
|
{
|
|
|
|
if (camera === undefined) { camera = tilemapLayer.scene.cameras.main; }
|
|
|
|
|
2017-11-30 15:22:54 +00:00
|
|
|
layerWorldX = tilemapLayer.x + camera.scrollX * (1 - tilemapLayer.scrollFactorX);
|
2017-11-26 13:55:44 +00:00
|
|
|
|
|
|
|
tileWidth *= tilemapLayer.scaleX;
|
|
|
|
}
|
|
|
|
|
|
|
|
return layerWorldX + tileX * tileWidth;
|
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = TileToWorldX;
|