Class: FlyControls
Defined in: packages/minerender/src/renderer/FlyControls.ts:40
Creative-flight camera controls: WASD moves horizontally along the view direction, space and shift move up and down, R sprints, and the mouse turns the camera (pointer lock, or drag).
Call FlyControls.update with the elapsed seconds once per frame; the change event marks the renderer dirty while keys are held. Speeds use scene units (16 per block). The element becomes focusable and keys apply while it has focus or the pointer is locked. A key pressed with Control, Alt, or Command stays a browser shortcut unless that modifier is bound. The wheel changes the speed, as in vanilla spectator mode. Touch input uses the left half of the element as a joystick and the right half for looking.
Extends
Controls<FlyControlsEventMap,Camera>
Constructors
Constructor
new FlyControls(camera, domElement?): FlyControls;Defined in: packages/minerender/src/renderer/FlyControls.ts:99
Parameters
| Parameter | Type |
|---|---|
camera | Camera |
domElement? | HTMLElement | null |
Returns
FlyControls
Overrides
Controls<FlyControlsEventMap, Camera>.constructorProperties
| Property | Modifier | Type | Default value | Description | Defined in |
|---|---|---|---|---|---|
dampingFactor | public | number | 0.25 | Portion of the remaining velocity change applied per 60 Hz frame (0–1) when damping is enabled. | packages/minerender/src/renderer/FlyControls.ts:52 |
enableDamping | public | boolean | true | Smooth acceleration and deceleration, approximating vanilla flight momentum. | packages/minerender/src/renderer/FlyControls.ts:50 |
enableWheelSpeed | public | boolean | true | Scroll the wheel to change movementSpeed within speedRange. | packages/minerender/src/renderer/FlyControls.ts:56 |
isFlyControls | readonly | true | true | - | packages/minerender/src/renderer/FlyControls.ts:41 |
joystickRadius | public | number | 64 | Touch joystick travel in CSS pixels for full speed. | packages/minerender/src/renderer/FlyControls.ts:60 |
keys | public | Record<FlyAction, string[]> | undefined | Key bindings by KeyboardEvent.code. | packages/minerender/src/renderer/FlyControls.ts:62 |
lookSpeed | public | number | 0.002 | Radians per pixel of pointer movement. | packages/minerender/src/renderer/FlyControls.ts:48 |
movementSpeed | public | number | undefined | Horizontal and vertical speed in scene units per second; vanilla creative flight by default. | packages/minerender/src/renderer/FlyControls.ts:44 |
pointerLock | public | boolean | true | Capture the pointer on click so the mouse turns the camera without dragging; dragging works regardless. | packages/minerender/src/renderer/FlyControls.ts:54 |
speedRange | public | [number, number] | undefined | Minimum and maximum movementSpeed reachable with the wheel. | packages/minerender/src/renderer/FlyControls.ts:58 |
sprintMultiplier | public | number | 2 | Speed multiplier while the sprint key is held. | packages/minerender/src/renderer/FlyControls.ts:46 |
Accessors
locked
Get Signature
get locked(): boolean;Defined in: packages/minerender/src/renderer/FlyControls.ts:160
Whether mouse look currently owns the pointer.
Returns
boolean
pitch
Get Signature
get pitch(): number;Defined in: packages/minerender/src/renderer/FlyControls.ts:205
Vertical pitch in radians, positive looking up.
Returns
number
yaw
Get Signature
get yaw(): number;Defined in: packages/minerender/src/renderer/FlyControls.ts:200
Horizontal yaw in radians, where zero looks toward -Z.
Returns
number
Methods
connect()
connect(element): void;Defined in: packages/minerender/src/renderer/FlyControls.ts:107
Connects the controls to the DOM. This method has so called "side effects" since it adds the module's event listeners to the DOM.
Parameters
| Parameter | Type |
|---|---|
element | HTMLElement |
Returns
void
Overrides
Controls.connectdisconnect()
disconnect(): void;Defined in: packages/minerender/src/renderer/FlyControls.ts:128
Disconnects the controls from the DOM.
Returns
void
Overrides
Controls.disconnectdispose()
dispose(): void;Defined in: packages/minerender/src/renderer/FlyControls.ts:155
Call this method if you no longer want use to the controls. It frees all internal resources and removes all event listeners.
Returns
void
Overrides
Controls.disposeisPressed()
isPressed(action): boolean;Defined in: packages/minerender/src/renderer/FlyControls.ts:225
Whether an action's key is held.
Parameters
| Parameter | Type |
|---|---|
action | FlyAction |
Returns
boolean
lock()
lock(): void;Defined in: packages/minerender/src/renderer/FlyControls.ts:165
Requests pointer capture; browsers only allow this from a user gesture.
Returns
void
lookAt()
lookAt(target): void;Defined in: packages/minerender/src/renderer/FlyControls.ts:217
Points the camera at a position without rolling it.
Parameters
| Parameter | Type |
|---|---|
target | Vector3 |
Returns
void
reset()
reset(): void;Defined in: packages/minerender/src/renderer/FlyControls.ts:192
Restores the saved camera pose and stops movement.
Returns
void
saveState()
saveState(): void;Defined in: packages/minerender/src/renderer/FlyControls.ts:186
Stores the camera pose that reset restores.
Returns
void
setRotation()
setRotation(yaw, pitch): void;Defined in: packages/minerender/src/renderer/FlyControls.ts:210
Turns the camera; pitch is clamped to straight up and down.
Parameters
| Parameter | Type |
|---|---|
yaw | number |
pitch | number |
Returns
void
unlock()
unlock(): void;Defined in: packages/minerender/src/renderer/FlyControls.ts:178
Releases a captured pointer.
Returns
void
update()
update(delta?): void;Defined in: packages/minerender/src/renderer/FlyControls.ts:234
Advances movement by delta seconds (measured since the previous call when omitted) and dispatches change when the camera moved. A step longer than 0.1 s is applied as 0.1 s.
Parameters
| Parameter | Type |
|---|---|
delta? | number |
Returns
void
Overrides
Controls.update