【发布时间】:2020-05-26 08:48:56
【问题描述】:
这是我的代码行:
GetComponent<Camera>().main.transform.position.y = StaticCameraY;
这是我得到的错误,我不知道如何解决它:
无法通过实例引用访问成员“Camera.main”; 改为使用类型名称来限定它
【问题讨论】:
这是我的代码行:
GetComponent<Camera>().main.transform.position.y = StaticCameraY;
这是我得到的错误,我不知道如何解决它:
无法通过实例引用访问成员“Camera.main”; 改为使用类型名称来限定它
【问题讨论】:
像这样访问主摄像头:
Camera.main.transform.position = new Vector3(Camera.main.transform.position, StaticCamera.y, Camera.main.transform.position.z);
原因如下:
- 当使用 GetComponent 在你当前的游戏对象上获取一个相机时,你必须像Camera cam = gameObject.GetComponent<Camera>();一样使用它,而无需将其称为 main。不过,您必须传递您在<> 中获得的组件类型。
- 主摄像头可以通过 Camera.main 找到,不涉及 GetComponent。
- 您不能设置 transform.position 的单个元素。您必须设置整个 Vector3。为此,我们传递当前的 transform.position.x 和 transform.position.z 并仅更新 y,因为这是您关心更改的那个。
希望有所帮助。
【讨论】: