the-world-engine
Version:
three.js based, unity like game engine for browser
88 lines (87 loc) • 2.38 kB
TypeScript
import { Component } from "../../hierarchy_object/Component";
import type { ComponentConstructor } from "../../hierarchy_object/ComponentConstructor";
import type { GameObject } from "../../hierarchy_object/GameObject";
import type { ReadonlyVector2 } from "../../math/ReadonlyVector2";
/**
* controller for 2D track camera
*
* it requires a camera component to control
*
* it supports pixel perfect and smooth damping
*
*
* disallow multiple component
*
* require components: `Camera`
*/
export declare class TrackCameraController extends Component {
readonly disallowMultipleComponent: boolean;
readonly requiredComponents: ComponentConstructor[];
private _trackTarget;
private readonly _targetOffset;
private _cameraDistanceOffset;
private _pixelPerfectUnit;
private _pixelPerfect;
private _smoothTrack;
private _smoothLambda;
start(): void;
private readonly _tempVector;
update(): void;
/**
* set the target to track
* @param target
*/
setTrackTarget(target: GameObject): void;
/**
* target position offset (default: (0, 0))
*/
get targetOffset(): ReadonlyVector2;
/**
* target position offset (default: (0, 0))
*/
set targetOffset(value: ReadonlyVector2);
/**
* z distance from camera to target (default: 20)
*/
get cameraDistanceOffset(): number;
/**
* z distance from camera to target (default: 20)
*/
set cameraDistanceOffset(value: number);
/**
* pixel perfect unit (default: 1)
*/
get pixelPerfectUnit(): number;
/**
* pixel perfect unit (default: 1)
*/
set pixelPerfectUnit(value: number);
/**
* use pixel perfect (default: false)
*/
get pixelPerfect(): boolean;
/**
* use pixel perfect (default: false)
*/
set pixelPerfect(value: boolean);
/**
* use smooth damp to track (default: false)
*/
get smoothTrack(): boolean;
/**
* use smooth damp to track (default: false)
*/
set smoothTrack(value: boolean);
/**
* smooth damp lambda (default: 6)
*
* higher value make camera movement more faster
*/
get smoothLambda(): number;
/**
* smooth damp lambda (default: 6)
*
* higher value make camera movement more faster
*/
set smoothLambda(value: number);
}