ghost-body

2.2.0 • Public • Published

ghost-body

p2 add-on for bodies that detect collision but have no collision response.

What this does

A ghost body will not bounce off of or have friction with other bodies. You can still react to a ghost overlapping other bodies via World's beginContact event.

Ghost bodies fire events when other bodies enter/exit them.

API

ghostBody.enable(World)

Enables a World to have ghost bodies. Call this once per World.

ghostBody.disable(World)

Disables ghost bodies in a World.

ghostBody.ghostify(Body)

Turn on ghost mode for a Body. Call this once on every Body that needs ghost treatment.

ghostBody.unghostify(Body)

Turn off ghost mode for a Body.

ghostBody.isGhost(Body)

See if Body is a ghost.

Events

Events are fired by ghost bodies using p2's built-in event system.

bodyEntered

Fired when a body enters a ghost body.

ghost.on('bodyEntered', function(event) {
  // number of bodies currently overlapping ghost
  event.count
  // body that entered
  event.causedBy
});

populated

Fired when a body enters a ghost body that was empty.

ghost.on('populated', function(event) {
  // number of bodies currently overlapping ghost
  event.count
  // body that entered
  event.causedBy
});

bodyExited

Fired when a body leaves a ghost body.

ghost.on('bodyExited', function(event) {
  // number of bodies currently overlapping ghost
  event.count
  // body that exited
  event.causedBy
});

emptied

Fired when the last body leaves a ghost body.

ghost.on('emptied', function(event) {
  // number of bodies currently overlapping ghost
  event.count
  // body that exited
  event.causedBy
});

Install

npm install ghost-body

License

MIT

Dependencies (0)

    Dev Dependencies (2)

    Package Sidebar

    Install

    npm i ghost-body

    Weekly Downloads

    13

    Version

    2.2.0

    License

    MIT

    Last publish

    Collaborators

    • psalaets