当前位置:  开发笔记 > 编程语言 > 正文

执行raycast时,Camera.main为null

如何解决《执行raycast时,Camera.main为null》经验,为你挑选了1个好方法。



1> Programmer..:

在代码中唯一可以返回null的是Camera.main.ScreenToWorldPoint.这意味着Camera.mainnull.对于Camera.main被初始化,相机必须有MainCamera标签.

选择Camera GameObject,然后将标签更改为MainCamera.

在此输入图像描述

如果您不希望您的相机位于MainCamera标签中,您也可以直接找到机智,GameObject.Find然后从中获取Camera组件.

Camera cam;

void Start()
{
    cam = GameObject.Find("NameOfCameraGameObject").GetComponent();
}

void Update()
{
    if (Input.touchCount > 0)
    {
        RaycastHit2D hit = Physics2D.Raycast(cam.ScreenToWorldPoint(Input.GetTouch(0).position), Vector2.zero);
        if (hit && hit.collider != null && hit.collider.name == "leftTapArea")
        {
            hit.transform.name = "Hit";
        }
    }
}

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有