@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
75 lines (74 loc) • 2.31 kB
TypeScript
import { Camera } from 'three';
import { BaseCollisionHandler } from './BaseCollisionHandler';
import { CorePlayer } from '../../../core/player/Player';
interface RotationRange {
min: number;
max: number;
}
interface MobileJoystickControlsDefaultParams {
rotateSpeed: number;
rotationRange: RotationRange;
}
export declare const DEFAULT_PARAMS: MobileJoystickControlsDefaultParams;
export interface MobileJoystickControlsOptions {
translateDomElement?: HTMLElement;
jumpDomElement?: HTMLElement;
runDomElement?: HTMLElement;
}
export declare class MobileJoystickControls extends BaseCollisionHandler {
private _camera;
private domElement;
private options;
private player?;
private translationData;
private rotationData;
private _boundMethods;
private _startCameraRotation;
private _rotationSpeed;
private _rotationRange;
private _azimuthalAngle;
private _translateDomElement;
private _translateDomElementRect;
private _jumpDomElement;
private _runDomElement;
constructor(_camera: Camera, domElement: HTMLElement, options: MobileJoystickControlsOptions, player?: CorePlayer | undefined);
dispose(): void;
private _createTranslateDomElement;
private _jumpDomElementSize;
private _createJumpDomElement;
private _createRunDomElement;
private _addElements;
private _removeElements;
updateElements(): void;
private _addEvents;
private _removeEvents;
setRotationSpeed(speed: number): void;
setRotationRange(range: RotationRange): void;
private vLeft;
private vRight;
private vTop;
private vBottom;
private angleY;
private angleX;
private _rotationStartPosition;
private _rotationMovePosition;
private _rotationDelta;
private _onRotateStart;
private _onRotateMove;
private _onRotateEnd;
private _rotateCamera;
private _computeAzimuthalAngle;
private _startCameraPosition;
private _translationStartPosition;
private _translationMovePosition;
private _translationDelta;
private _onTranslateStart;
private _onTranslateMove;
private _onTranslateEnd;
private _updatePlayerTranslate;
private _onJump;
private _onRunToggle;
update(delta: number): void;
private _getTouch;
}
export {};