我有一个小脚本可以隐藏并将光标显示出来,我错过了一个特别是这个
的错误错误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 :(得分: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;
}
答案 1 :(得分: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;
}