festyrbg Posted April 29, 2017 Share Posted April 29, 2017 I'm trying to set collision groups for my objects and I'm failing miserably. My map consists of tiles and ramps which i want to place in different collision groups, but something strange happens which i dont understand. When i set collisionGroup on either the ramps or the tiles i get collisions on the other one and if i set collision groups on both, my player collides with neither. Please somebody explain what im doing wrong, thanks! map = game.add.tilemap('map'); map.addTilesetImage('grass-tileset', 'grassTiles'); layer = map.createLayer('world1'); layer.resizeWorld(); map.setCollisionBetween(33,38); map.setCollisionBetween(49,54); map.setCollisionBetween(65,70); var tileObjects = this.game.physics.p2.convertTilemap(map, layer); var rampObjects = this.game.physics.p2.convertCollisionObjects(map, "ramps"); // add ramps form Tiled this.playerCollisionGroup = this.physics.p2.createCollisionGroup(); this.tilesCollisionGroup = this.physics.p2.createCollisionGroup(); this.otherCollisionGroup = this.physics.p2.createCollisionGroup(); this.rampCollisionGroup = this.physics.p2.createCollisionGroup(); for(var i = 0; i < rampObjects.length; i++) { var rampObject = rampObjects[i]; rampObject.setCollisionGroup(this.rampCollisionGroup); rampObject.collides([this.playerCollisionGroup]); } for(var i = 0; i < tileObjects.length; i++) { var tileBody = tileObjects[i]; tileBody.setCollisionGroup(this.tilesCollisionGroup); tileBody.collides([this.playerCollisionGroup]); } player = this.game.add.sprite(50, 50, 'playerSprite'); player.anchor.setTo(0.5, 0.5); player.scale.setTo(0.5, 0.5); this.game.physics.p2.enable(player); this.game.physics.p2.gravity.y = 100; player.body.setCollisionGroup(this.playerCollisionGroup); player.body.collides([this.tilesCollisionGroup, this.rampCollisionGroup]); player.body.setCircle(20); player.body.addCapsule(22,10,0,0,0); player.body.fixedRotation = true; player.body.data.gravityScale = this.gravityScale; Link to comment Share on other sites More sharing options...
Recommended Posts