Hi, I just created this obiect layer in Tiled and I’d like to use it as collide layer with player but I dont know how to get it. I was looking for some examples and tried something but I gave up after 5 hours.


Thanks for help.
Hi, I just created this obiect layer in Tiled and I’d like to use it as collide layer with player but I dont know how to get it. I was looking for some examples and tried something but I gave up after 5 hours.


Thanks for help.
Hi,
createFromObjects need more parameters:
https://photonstorm.github.io/phaser3-docs/Phaser.Tilemaps.Tilemap.html#createFromObjects__anchor
createFromObjects(name, id, spriteConfig [, scene])
Creates a Sprite for every object matching the given gid in the map data. All properties from the map data objectgroup are copied into thespriteConfig, so you can use this as an easy way to configure Sprite properties from within the map editor. For example giving an object a property of alpha: 0.5 in the map editor will duplicate that when the Sprite is created.
Look at this example, the coins are made with createFromObjects and a spritesheet:
OK thanks I got it but now how can I set collision on those objects ?
In the example if you make a:
var coins = map.createFromObjects('Coin Object Layer', 26, { key: 'coin' });
console.log(coins) // give an array of sprites
You get an array of sprites, so you can iterate this array and add each coin a body.
coins.forEach(coin => {
this.physics.world.enable(coin);
})
console.log(coins) // each coin has now a body
Now you can create a collider between a player and coins array
this.physics.add.collider(player, coins, null, null, this);
Thanks a lot I got it all. I hope.
@BlunT76 do we always need sprite gameobject type ? I tried with classType =>Rectangle, Zone, GameObject…but nothing works except with type sprite…
No, the doc says any class that extends GameObject. And there’s an example with Zone
classType: Phaser.GameObjects.Zone