UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

75 lines (74 loc) 2.31 kB
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 {};