# Function useFiveAction

- useFiveAction(): FiveActionReactCallbacks
  `Function`

  Five React Hooks: 使用 Five 的命令

  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>

  #### Returns FiveActionReactCallbacks

  #### Example

      const { updateCamera, initBasisLoader, getPixels, render, needsRender, preloadPano } = useFiveAction();

  - Defined in lib/react/hooks/useFiveAction.ts:166