multiple circle shapes in a body with position

This commit is contained in:
Georgios Kaleadis 2014-03-21 20:45:25 +01:00
parent 21c0be4d02
commit c2964857a3
2 changed files with 11 additions and 8 deletions

View file

@ -1136,14 +1136,17 @@ Phaser.Physics.P2.Body.prototype = {
if (fixtureData.circle)
{
// A circle has unfortunately no position in p2. pretty useless.
var shape = new p2.Circle(this.world.pxm(fixtureData.circle.radius));
shape.collisionGroup = fixtureData.filter.categoryBits;
shape.collisionMask = fixtureData.filter.maskBits;
shape.sensor = fixtureData.isSensor;
var shape = new p2.Circle(this.world.pxm(fixtureData.circle.radius))
shape.collisionGroup = fixtureData.filter.categoryBits
shape.collisionMask = fixtureData.filter.maskBits
shape.sensor = fixtureData.isSensor
this.data.addShape(shape);
generatedShapes.push(shape);
var offset = p2.vec2.create();
offset[0] = this.world.pxmi(fixtureData.circle.position[0] - this.sprite.width/2)
offset[1] = this.world.pxmi(fixtureData.circle.position[1] - this.sprite.height/2)
this.data.addShape(shape, offset);
generatedShapes.push(shape)
}
else
{

View file

@ -120,7 +120,7 @@ Phaser.Utils.extend(Phaser.Physics.P2.BodyDebug.prototype, {
if (child instanceof p2.Circle)
{
this.drawCircle(sprite, offset[0] * this.ppu, -offset[1] * this.ppu, angle, child.radius * this.ppu, color, lw);
this.drawCircle(sprite, offset[0] * this.ppu, offset[1] * this.ppu, angle, child.radius * this.ppu, color, lw);
}
else if (child instanceof p2.Convex)
{