@@ -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