浏览代码

fix(core): camera not updating on aspect ratio change

alvarosabu 2 年之前
父节点
当前提交
0956c339d4
共有 1 个文件被更改,包括 5 次插入5 次删除
  1. 5 5
      packages/tres/src/core/useCamera/index.ts

+ 5 - 5
packages/tres/src/core/useCamera/index.ts

@@ -1,7 +1,7 @@
 import { useTres } from '/@/core/'
 import { useTres } from '/@/core/'
 import { PerspectiveCamera, OrthographicCamera } from 'three'
 import { PerspectiveCamera, OrthographicCamera } from 'three'
 
 
-import { toRef, watch, Ref } from 'vue'
+import { toRef, watch, Ref, inject } from 'vue'
 
 
 export enum CameraType {
 export enum CameraType {
   Perspective = 'Perspective',
   Perspective = 'Perspective',
@@ -105,7 +105,7 @@ let camera: Camera
  */
  */
 export function useCamera(): UseCameraReturn {
 export function useCamera(): UseCameraReturn {
   const { state, setState } = useTres()
   const { state, setState } = useTres()
-
+  const aspectRatio = inject('aspect-ratio')
   /**
   /**
    * Create camera and push to Tres `state.cameras` array
    * Create camera and push to Tres `state.cameras` array
    *
    *
@@ -182,10 +182,10 @@ export function useCamera(): UseCameraReturn {
   function clearCameras() {
   function clearCameras() {
     state.cameras = []
     state.cameras = []
   }
   }
-
-  if (state.aspectRatio) {
-    watch(state.aspectRatio, updateCamera)
+  if (aspectRatio) {
+    watch(aspectRatio, updateCamera)
   }
   }
+
   return {
   return {
     activeCamera: toRef(state, 'camera'),
     activeCamera: toRef(state, 'camera'),
     createCamera,
     createCamera,