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)
需要通过添加线来设置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)