2017-06-06 4 views
0

Unityengine.Cursorlockmodeにブール値に変換し、私は特にこの私は非表示にし、目に見えるカーソルを置くために小さなスクリプトを持っている

エラーCS0029でエラーを欠場する方法:暗黙的にタイプbool' to UnityEngine.CursorLockModeを変換できません」

、これはあなたが代わりに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に変換するかどうかはわかりません。私はあなたがCursorLockMode型をCursor.lockStateに提供すると予想されると思います。 – Ceisc

答えて

6

です。 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; 
} 
関連する問題