2017-06-06 32 views
0

我有一個小腳本隱藏,並把光標可見,我想念一個錯誤,特別是這我怎麼一個布爾值轉換爲Unityengine.Cursorlockmode

錯誤CS0029:無法隱式轉換類型bool' to UnityEngine.CursorLockMode」

,這是代碼

using UnityEngine; 
using System.Collections; 

public class yea : MonoBehaviour { 
    bool isLocked; 
    void Start() { 
     SetCursorLock(true); 
    } 


    void SetCursorLock(bool isLocked) 
    { 
     this.isLocked = isLocked; 
     Cursor.lockState = isLocked; 
     Cursor.visible = !isLocked; 
    } 

    void Update() { 
     if (Input.GetKeyDown(KeyCode.I)) 
     { 
      SetCursorLock(!isLocked); 
     } 

     if (Input.GetKeyDown(KeyCode.H)) 
     { 
      SetCursorLock(isLocked); 
     } 
    } 
} 
+0

我不確定你想要將bool轉換爲CursorLockMode。我認爲你應該爲Cursor.lockState提供一個CursorLockMode類型。 – Ceisc

回答

6

您應該使用CursorLockMode代替。您可以使用CursorLockMode.Locked來鎖定遊標。更多信息,請 https://docs.unity3d.com/ScriptReference/CursorLockMode.html

代碼示例:

void SetCursorLock(bool isLocked) 
{ 
    if(isLocked) 
     Cursor.lockState = CursorLockMode.Locked; 
    else 
     Cursor.lockState = CursorLockMode.None; 

    Cursor.visible = !isLocked; 
} 
6

Cursor.lockState是一個枚舉(CursorLockMode),所以你不能分配bool它。

void SetCursorLock(bool isLocked) 
{ 
    this.isLocked = isLocked; 
    if(this.isLocked) 
    { 
     Cursor.lockState = CursorLockMode.Locked; 
    }else 
    { 
     Cursor.lockState = CursorLockMode.None; 
    } 
    Cursor.visible = !isLocked; 
}