在Unity中使用未分配的局部变量

pik*_*kuu 0 c# unity-game-engine

这是我的脚本来控制我的镜头的运动..但我得到错误:

错误CS0165:使用未分配的局部变量`floorHit'

我该如何解决?

void Start(){
    floor = LayerMask.GetMask ("Floor");
    Ray RAY = Camera.main.ScreenPointToRay (Input.mousePosition);
    RaycastHit floorHit;
    Vector3 playerMouse = floorHit.point - transform.position;
    playerMouse.y = 0f;
    MoveTo (playerMouse.x, playerMouse.z);
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*ter 6

需要通过添加线来设置​​ray的值

if (Physics.Raycast (ray, out floorHit)) {
    //add logic here for what to do if we hit
    }
Run Code Online (Sandbox Code Playgroud)

在宣布之后.

所以完整的例子是

void Start(){
    floor = LayerMask.GetMask ("Floor");
    Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
    RaycastHit floorHit;
    if (Physics.Raycast (ray, out floorHit)) {
        Vector3 playerMouse = floorHit.point - transform.position;
        playerMouse.y = 0f;
        MoveTo (playerMouse.x, playerMouse.z);
    }
}
Run Code Online (Sandbox Code Playgroud)