最近需要做一個三維場景切換的功能,切換場景後,還可以進行二三維模式的切換,二三維切換時,要定位到當前場景視角,那麼場景的視角引數資訊就需要儲存到狀態資料中,以供二三維場景切換時使用。
專案是用vue做的,這裡並沒有使用vue的狀態管理庫,我是這樣實現的:
- 定義狀態資料sceneInfo
let sceneInfo;
- 定義get、set方法
function getSceneInfo() {
return sceneInfo;
}
function setSceneInfo(value) {
sceneInfo = value;
}
- 匯出get、set方法
export { 其它方法..., getSceneInfo, setSceneInfo }
- 使用時引入get、set方法
import { getSceneInfo, setSceneInfo } from "@/views/three/js/states.js";
- 儲存狀態資料
setSceneInfo(sceneInfo);
- 讀取狀態資料
let sceneInfo = getSceneInfo();
透過以上方法,實現了三維場景切換後,切換二三維模式並定位的功能。您覺得這種方法如何?