xl-pano
Version:
一个基于 Typescript 的,同时支持立方体和球体场景的轻量开源库。
58 lines (57 loc) • 1.6 kB
TypeScript
import Pano from "./Pano";
import Scene from "./interface/Scene";
/**
* 热点
* */
export default class HotSpot {
/**
* @property {HTMLElement} dom 热点元素
* */
dom: HTMLElement;
/**
* @property {number} pitch 位置-俯仰角-角度
* */
pitch: number;
/**
* @property {number} yaw 位置-偏航角-角度
* */
yaw: number;
/**
* @property {number} target 目标场景索引
* */
target?: number;
/**
* @property {Pano} pano 爷爷容器Pano
* */
pano: Pano;
/**
* @property {Scene} scene 父容器Scene
* */
scene: Scene;
/**
* @property {(ev: MouseEvent) => any} originOnClick dom 原始的 click 监听函数
* */
originOnClick?: (ev: MouseEvent) => any;
/**
* @constructor
* @param {HTMLElement} dom 热点元素
* @param {{pitch?: number, yaw?: number, target?: number}} options 可选参数:pitch 位置-俯仰角-角度,范围是 (-90, 90);yaw 位置-偏航角-角度;target 转场目标场景索引
* */
constructor(dom: HTMLElement, options?: {
pitch?: number;
yaw?: number;
target?: number;
});
/**
* 把热点图像插入到容器内
* @param deltaPitch {number} 场景的俯仰角偏移值
* @param deltaYaw {number} 场景的偏航角偏移值
* @param {Pano} pano 爷爷容器
* @param {Scene} scene 父容器
* */
render(deltaPitch: number, deltaYaw: number, pano: Pano, scene: Scene): void;
/**
* 销毁
* */
destroy(): void;
}