首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Camera组件返回null

Camera组件返回null
EN

Stack Overflow用户
提问于 2018-12-12 04:22:50
回答 1查看 207关注 0票数 0

我正在尝试禁用相机组件以在我的相机之间切换。但是当我尝试获取我的游戏对象的相机组件时,它返回null。

这是我的GameObject:

这就是我的代码崩溃的地方:

代码语言:javascript
复制
void respawn(){
    cameraDead.transform.position = new Vector3(player.transform.position.x, cameraDead.transform.position.y, player.transform.position.z);

    cameraDead.GetComponent<Camera>().enabled = true;//It crashes right here
    camera.GetComponent<Camera>().enabled = false;
    player.transform.SetPositionAndRotation(new Vector3(-27f, 0f, -8.35f), Quaternion.Euler(new Vector3(0,90,0)));
    isDead = true;
}

错误消息指出指针返回null。所以它找不到组件。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-12-13 16:42:15

当组件被禁用或游戏对象处于非活动状态时,您无法使用GetComponent获取它。根据您的代码,似乎CameraDead的摄像头组件一开始是禁用的,然后您试图在启用它时获取它。

您可以通过缓存组件轻松地解决此问题。如下所示:

  • 首先在场景中保持启用两个摄影机组件。

公共开始;公共摄像头;私有摄像头;私有摄像头;GameObject cameraDead(){ dead_cam = cameraDead.GetComponent();cam = camera.GetComponent();dead_cam.enabled = false;} //....dead_cam.enabled = true;cam.enabled = false;player.transform.SetPositionAndRotation(new Vector3(-27f,0f,-8.35f),Quaternion.Euler(new Vector3(0,90,0);isDead = true;}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53731791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档