Function 隐藏光标脚本不';在Unity 5中不能正确工作

Function 隐藏光标脚本不';在Unity 5中不能正确工作,function,unity3d,cursor,unityscript,Function,Unity3d,Cursor,Unityscript,我在“FirstPersonCharacter”游戏对象中附加了一个简单的隐藏光标脚本,无法正常工作 #pragma strict var blocked = false; function Start () { blockCursor (false); } function blockCursor (blocked) { this.blocked = blocked; Screen.lockCursor = blocked; Cursor.visible

我在“FirstPersonCharacter”游戏对象中附加了一个简单的隐藏光标脚本,无法正常工作

#pragma strict

var blocked = false;

function Start () {
    blockCursor (false);
}

function blockCursor (blocked) {
    this.blocked = blocked;
    Screen.lockCursor = blocked;
    Cursor.visible = !blocked;
}

function Update () {
    if (Input.GetKeyDown("e")) {
        blockCursor(!blocked);
    }
}
这个脚本在Unity 4.6中工作得很好,但是现在在Unity 5中,当我按下“E”时,光标会移动到中心,并且不会隐藏。
我做了什么坏事?:(

要锁定光标然后将其居中,只需将块光标功能更改为:

function blockCursor (blocked) {
    this.blocked = blocked;
    Cursor.visible = !blocked;
    Cursor.lockState = blocked ? CursorLockMode.Locked : CursorLockMode.None;
}
这将解决您的问题。

锁定/隐藏光标的代码5
视频:

我在OSX上的Unity 5中测试了你的脚本,它对我来说很好。E键按预期隐藏和显示光标。我只是创建了一个新项目并将脚本连接到主摄像头。Bugs…我想…刚才还可以。抱歉,我不明白。你是说这样的吗?#pragma strict var blocked=false;函数Start(){blockCursor(false);}函数blockCursor(blocked){this.blocked=blocked;bool Screen.lockCursor=blocked;Cursor.visible=!blocked;}函数更新(){if(Input.GetKeyDown(“e”){blockCursor(!blocked);}这会给我一个错误。如果我改为“Cursor.visible”光标只隐藏且不居中。哦。@gecko我想我把你弄糊涂了。既然你想隐藏光标并将其锁定,请看我编辑的答案。谢谢,@Evil-Tak.工作得很好。
using UnityEngine;
using System.Collections;

public class HideLockCursorA : MonoBehaviour
{
void Start ()
  {
    Cursor.lockState = CursorLockMode.Locked;
    Cursor.visible = false;
  }
                  void Update ()
            {
                    Cursor.lockState = CursorLockMode.Locked;
                    Cursor.visible = false;
            }
}