Skip to main content

Platformer2DBehavior

@zylem/game-lib


@zylem/game-lib / behavior / Platformer2DBehavior

Variable: Platformer2DBehavior

const Platformer2DBehavior: BehaviorDescriptor<Platformer2DBehaviorOptions, \{ getJumpCount: () => number; getState: () => Platformer2DState; isGrounded: () => boolean; \}, Platformer2DEntity>

Defined in: node_modules/.pnpm/@zylem+behaviors@0.8.9_@types+react@19.3.0_react@19.3.0_three@0.185.1/node_modules/@zylem/behaviors/dist/platformer-2d.d.ts:239

Platformer2DBehavior - typed descriptor for 2D platformer movement

Provides complete 2D platformer physics on the X/Y plane including:

  • Walking and running on X
  • Jumping with buffer, coyote time, multi-jump, and jump-cut
  • Gravity ownership and falling
  • Kinematic character controller (collide-and-slide, autostep, snap-to-ground)

Example​

import { Platformer2DBehavior } from "@zylem/behaviors/platformer-2d";

const platformer = player.use(Platformer2DBehavior, {
walkSpeed: 8,
runSpeed: 14,
jumpForce: 12,
maxJumps: 2, // Double jump!
});

// In update loop
player.onUpdate(({ inputs }) => {
player.$platformer2D.moveX = inputs.p1.axes.Horizontal.value;
player.$platformer2D.jump = inputs.p1.buttons.A.held > 0;
player.$platformer2D.run = inputs.p1.shoulders.LTrigger.held > 0;

const state = platformer.getState();
const grounded = platformer.isGrounded();
});