Jump to content

P2 sprite collision group pain


Recommended Posts

Hi all,

Been banging my head against the wall for ages with this.

Default P2 collision works, I clearShapes() on each sprite to get rid of these boundary boxes and loadPolygon() to get my custom boundaries (defined in sprite_physics.json). However the collision groups appear not to be working as my player sprite goes straight through/under the enemy.

Can anyone see where I'm going wrong?


// in index.html
(function() {
    var game = new Phaser.Game(1024, 768, Phaser.AUTO, null)
    game.state.add('Game', Game);

// in game.js
var Game = function (game) {

Game.prototype = {

    preload: function () {
        this.game.load.image('player', 'assets/player.png');
        this.game.load.image('enemy', 'assets/enemy.png');
        this.game.load.physics('sprite_physics', 'assets/sprite_physics.json');

    create: function () {

        this.playerCollisionGroup = this.game.physics.p2.createCollisionGroup();
        this.enemyCollisionGroup = this.game.physics.p2.createCollisionGroup();


    update: function () {
        // <snip> do some steering stuff </snip>

    createPlayer: function () {
        this.player = this.game.add.sprite(this.game.world.centerX, this.game.world.centerY + 300, 'player');

        this.game.physics.p2.enable(this.player, true); // so I can see the polygon's boundaries

        // Gets rid of current bounding box
        // BUT THEN need to add collision cos default p2 collision is wiped with clearShapes()

        // Add boundary shape from PhysicsEditor
        this.player.body.loadPolygon('sprite_physics', 'player');

        // Seems to do nothing :(

    createEnemy: function () {
        this.enemy = this.game.add.sprite(this.game.world.centerX, this.game.world.centerY, 'enemy');

        this.game.physics.p2.enable(this.enemy, true);


        this.enemy.body.loadPolygon('sprite_physics', 'enemy');



Link to comment
Share on other sites


I just downloaded phaser.min.js 2.9.1 and it fixed everything.

I'm kind of pissed off I spent that much time trying to figure something out when it was a massive live defect but I'm mostly grateful for this community (you, Samid737) and phaser's library working with a patch. I would recommend the Phaser team to be more vocal with their fundamental hotfixes....

Or am I missing something in terms of their release exposure?




Link to comment
Share on other sites

Ironically, I introduced the bug. The complete story #279, The underlying problem is yet to be resolved, but its not A critical one. This was an unexpected bug as you can see. The Phaser-CE community does its best to foresee and are pretty busy maintaining, but quality control is definitely an added challenge with community driven projects.

Link to comment
Share on other sites


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...