@moxijs/core - v0.3.4
    Preparing search index...

    Class PhysicsBodyLogic

    Logic component that syncs a PIXI entity with a Planck.js physics body. Handles position/rotation sync, collision filtering, and force application.

    // Create physics body for a sprite
    const sprite = asEntity(new PIXI.Sprite(texture));
    const body = new PhysicsBodyLogic(physicsWorld, {
    type: 'dynamic',
    collisionTags: ['player'],
    collidesWith: ['terrain', 'enemy'],
    density: 1.0,
    friction: 0.3
    });
    sprite.moxiEntity.addLogic(body);

    // Apply forces in update loop
    body.applyImpulse(new PIXI.Point(100, 0));
    body.setVelocity(new PIXI.Point(0, -200));

    // Collision callbacks
    body.onCollisionBegin = (other, contact) => console.log('hit!');

    Hierarchy (View Summary)

    • Logic<PIXI.Container>
      • PhysicsBodyLogic
    Index

    Constructors

    Properties

    active: boolean = true

    Set false to skip update() calls.

    body: Body$1

    Planck.js body instance.

    name: string = 'PhysicsBodyLogic'

    Identifier for getLogic(). Defaults to class name.

    onCollisionBegin?: (other: PhysicsBodyLogic, contact: Contact) => void

    Called when collision begins.

    onCollisionEnd?: (other: PhysicsBodyLogic, contact: Contact) => void

    Called when collision ends.

    Body configuration.

    Parent physics world.

    Methods

    • Apply continuous force at a point. Force is in pixels/sec².

      Parameters

      • force: Point

        Force vector in pixels

      • Optionalpoint: Point

        Application point (defaults to center of mass)

      Returns void

    • Apply instant impulse at a point. Good for jumps, explosions.

      Parameters

      • impulse: Point

        Impulse vector in pixels

      • Optionalpoint: Point

        Application point (defaults to center of mass)

      Returns void