blaze-2d
Version:
A fast and simple WebGL 2 2D game engine written in TypeScript
37 lines (36 loc) • 1.21 kB
TypeScript
import Camera from "../camera/camera";
import Object2D from "../object2d";
import Controls from "./controls";
export default class PointerLockControls extends Controls {
isLocked: boolean;
/**
* Creates a {@link PointerLockControls} instance and sets up it's event handlers.
*
* @param element The element to use when handling control events
* @param camera The camera to control
* @param object An optional object to follow the camera's yaw
* @param sensitivity Movement sensitivity
*/
constructor(element: HTMLElement, camera: Camera, object?: Object2D, sensitivity?: number);
/**
* Requests pointer lock if the control's are not already locked.
*/
private clickHandler;
/**
* Resets `movementX` and `movementY` if the controls has been unlocked.
*/
private pointerLockChangeHandler;
/**
* Syncs `this.movementX` and `this.movementY` with the event's movement properties.
*
* @param e The mouse event
*/
private mouseMoveHandler;
/**
* Calculates the new camera direction from `movementX` and `movementY`.
*
* Called every tick.
*/
update(): void;
dispose(): void;
}