Skip to main content

Platformer3DBehavior

@zylem/game-lib


@zylem/game-lib / behavior / Platformer3DBehavior

Variable: Platformer3DBehavior

const Platformer3DBehavior: BehaviorDescriptor<Platformer3DBehaviorOptions, \{ getJumpCount: () => number; getState: () => Platformer3DState; isGrounded: () => boolean; onPlatformCollision: (ctx) => void; \}, Platformer3DEntity>

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-3d.d.ts:270

Platformer3DBehavior - typed descriptor for 3D platformer movement

Provides complete 3D platformer physics including:

  • Walking and running
  • Jumping with multi-jump support
  • Gravity and falling
  • Ground detection

Example​

import { Platformer3DBehavior } from "@zylem/game-lib/behavior";

const player = await playgroundActor('player');
const platformer = player.use(Platformer3DBehavior, {
walkSpeed: 12,
runSpeed: 24,
jumpForce: 12,
maxJumps: 2, // Double jump!
});

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

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