Function useFiveAction

  • Five React Hooks: 使用 Five 的命令

    Returns FiveActionReactCallbacks

    updateCamera

    移动相机。(不触发点位移动
    如果动画中途被打断用户触发行为或者调用 setState, load, changeMode的等
    Promise.reject运动完成则 Promise.resolve

    // params pose - 相机目标位置
    // params duration - 动画触发的时常
    // params Promise - 是否移动成功
    updateCamera(pose: Pose, duration: number): Promise<void>

    getPixels

    获取画面中的像素颜色
    // param x - 获取像素区域的起始坐标 x
    // param y - 获取像素区域的起始坐标 y
    // param width - 获取像素区域的宽度
    // param height - 获取像素区域的高度
    // param pixelRatio - 获取区域的像素比
    // returns rgba颜色平铺的 Uint8Array
    getPixels(x: number, y: number, width: number, height: number, pixelRatio?: number): Uint8Array,

    render

    强制渲染
    调用 render() needsRender() 均可在按需渲染时使得画面渲染一次
    区别在于
    - needsRender() 为在下帧渲染画面
    - render() 在当前帧渲染画面
    推荐使用 needsRender(), 可以更加流畅但是如果需要截图等同步操作可以使用 render()

    // param callback 渲染完成回调
    render(callback?: () => void): void,

    needsRender

    下一帧渲染
    调用 render() needsRender() 均可在按需渲染时使得画面渲染一次
    区别在于
    - needsRender() 为在下帧渲染画面
    - render() 在当前帧渲染画面
    推荐使用 needsRender(), 可以更加流畅但是如果需要截图等同步操作可以使用 render()
    needsRender(): void,

    preloadPano

    预加载点位图片资源
    // param panoIndex - 观察点序号
    // param callback - 加载完成回调, 并传递加载用时。
    // returns 加载完成的 Promise 参数同 callback
    preloadPano(panoIndex: number, callback?: (costs: number) => void): Promise<number>
    const { updateCamera, initBasisLoader, getPixels, render, needsRender, preloadPano } = useFiveAction();