Jump to content

Getting objects in a group to collide


user1234
 Share

Recommended Posts

I am using a portion of the tank games demo that creats a group in a different way

 

I have this at the top of my code

var EnemyTank = function (game) {    var x = game.world.randomX;    var y = game.world.randomY;    this.tank = game.add.sprite(x, y, 'enemy');    this.tank.anchor.set(0.5);    game.physics.enable(this.tank, Phaser.Physics.ARCADE);    game.physics.arcade.collide(this.tank,cat);    this.tank.body.immovable = false;    this.tank.body.collideWorldBounds = true;    this.tank.body.bounce.setTo(1, 1);    this.tank.angle = game.rnd.angle();    game.physics.arcade.velocityFromRotation(this.tank.rotation, 100, this.tank.body.velocity);    game.physics.arcade.collide(this.tank);};

'this is in the create

         enemies = [];            enemiesTotal = 20;            enemiesAlive = 20;           for (var i = 0; i < enemiesTotal; i++)           {             enemies.push(new EnemyTank(this.game));           }

And this is in the update

this.game.physics.arcade.collide(enemies);

The objects are not bouncing off of each other. Any suggestions?

Link to comment
Share on other sites

  • 3 weeks later...

I would also like to see a solution for this.

 

In other game frameworks each object can have a type and collision can then be defined by type. So its easy to have a group of objects colliding with each other and maybe another group of objects. I dont know if thats possible with phaser.

Link to comment
Share on other sites

Just my guess here.

 

collide is meant to be called each time you want to test for collision and trigger reactions. (e.g on every update).

 

Secondly collide expects the two objects that you want to test for collision.

 

so remove your collision stuff from the Enemytank object, and place this in your update callback.

 

 

(what is 'cat'?)

game.physics.arcade.collide(this.tank,cat);

and this

this.game.physics.arcade.collide(this.tank, enemies);

You may also want to add a callback as a third parameter if you want to be notified of the collision.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

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