Skip to content

Commit 92fb2a9

Browse files
committed
Update MatterTileBody to use latest Tile API
1 parent a6556e9 commit 92fb2a9

1 file changed

Lines changed: 10 additions & 21 deletions

File tree

src/physics/matter-js/MatterTileBody.js

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,7 @@ var MatterTileBody = new Class({
4141
var addToWorld = GetFastValue(options, 'addToWorld', true);
4242
if (!body)
4343
{
44-
var tileset = tile.layer.tilemapLayer.tileset;
45-
var collisionGroup = tileset.getTileCollisionGroup(tile.index);
44+
var collisionGroup = tile.getCollisionGroup();
4645
var collisionObjects = GetFastValue(collisionGroup, 'objects', []);
4746
if (collisionObjects.length > 0)
4847
{
@@ -65,14 +64,10 @@ var MatterTileBody = new Class({
6564
if (!HasValue(options, "isStatic")) { options.isStatic = true; }
6665
if (!HasValue(options, "addToWorld")) { options.addToWorld = true; }
6766

68-
var tile = this.tile;
69-
var tilemapLayer = tile.layer.tilemapLayer;
70-
var tileset = tilemapLayer.tileset;
71-
var w = tile.width * tilemapLayer.scaleX;
72-
var h = tile.height * tilemapLayer.scaleY;
73-
var x = tilemapLayer.tileToWorldX(tile.x);
74-
var y = tilemapLayer.tileToWorldY(tile.y);
75-
var body = Bodies.rectangle(x + (w / 2), y + (h / 2), w, h, options);
67+
var bounds = this.tile.getBounds();
68+
var cx = bounds.x + (bounds.w / 2);
69+
var cy = bounds.y + (bounds.y / 2);
70+
var body = Bodies.rectangle(cx, cy, bounds.w, bounds.h, options);
7671
this.setBody(body, options.addToWorld);
7772

7873
return this;
@@ -84,23 +79,17 @@ var MatterTileBody = new Class({
8479
if (!HasValue(options, "isStatic")) { options.isStatic = true; }
8580
if (!HasValue(options, "addToWorld")) { options.addToWorld = true; }
8681

87-
var tile = this.tile;
88-
var tilemapLayer = tile.layer.tilemapLayer;
89-
var tileset = tilemapLayer.tileset;
90-
var w = tile.width * tilemapLayer.scaleX;
91-
var h = tile.height * tilemapLayer.scaleY;
92-
var x = tilemapLayer.tileToWorldX(tile.x);
93-
var y = tilemapLayer.tileToWorldY(tile.y);
94-
95-
var collisionGroup = tileset.getTileCollisionGroup(tile.index);
82+
var tileX = this.tile.getLeft();
83+
var tileY = this.tile.getTop();
84+
var collisionGroup = this.tile.getCollisionGroup();
9685
var collisionObjects = GetFastValue(collisionGroup, 'objects', []);
9786

9887
var parts = [];
9988
for (var i = 0; i < collisionObjects.length; i++)
10089
{
10190
var object = collisionObjects[i];
102-
var ox = x + object.x;
103-
var oy = y + object.y;
91+
var ox = tileX + object.x;
92+
var oy = tileY + object.y;
10493
var ow = object.width;
10594
var oh = object.height;
10695
var body = null;

0 commit comments

Comments
 (0)