Skip to content

Camera

Defined in: renderer/src/Camera.ts:35

2D camera with follow, shake, zoom, and coordinate conversion. Pure math — no PixiJS dependency.

new Camera(viewportWidth, viewportHeight): Camera

Defined in: renderer/src/Camera.ts:65

number

number

Camera

optional bounds?: CameraBounds

Defined in: renderer/src/Camera.ts:39


position: Vec2 = Vec2.ZERO

Defined in: renderer/src/Camera.ts:36


rotation: number = 0

Defined in: renderer/src/Camera.ts:38


readonly viewportHeight: number

Defined in: renderer/src/Camera.ts:42


readonly viewportWidth: number

Defined in: renderer/src/Camera.ts:41


zoom: number = 1

Defined in: renderer/src/Camera.ts:37

get effectivePosition(): Vec2

Defined in: renderer/src/Camera.ts:133

Effective position including shake offset.

Vec2

follow(target, options?): void

Defined in: renderer/src/Camera.ts:71

Start following a target.

Vec2Like

CameraFollowOptions

void


screenToWorld(screenX, screenY): Vec2

Defined in: renderer/src/Camera.ts:117

Convert screen coordinates to world coordinates (accounts for shake).

number

number

Vec2


shake(intensity, duration, options?): void

Defined in: renderer/src/Camera.ts:90

Start a screen shake effect.

number

number

CameraShakeOptions

void


unfollow(): void

Defined in: renderer/src/Camera.ts:84

Stop following any target.

void


update(dt): void

Defined in: renderer/src/Camera.ts:138

Advance camera state by dt milliseconds.

number

void


worldToScreen(worldX, worldY): Vec2

Defined in: renderer/src/Camera.ts:125

Convert world coordinates to screen coordinates (accounts for shake).

number

number

Vec2


zoomTo(target, duration, easing?): void

Defined in: renderer/src/Camera.ts:103

Animate zoom to a target value over a duration.

number

number

EasingFunction

void