2016-04-25 69 views
0

我在統一設計第一人稱射擊遊戲。我使用FPS控制器來控制播放器。因此,我的鼠標光標大部分時間都保持不可見,當我按下Escape鍵時,它就變得可見。但問題是,當我從使用FPS控制器的場景加載新場景時,雖然新場景不使用FPS控制器,但鼠標光標仍然不可見。此外,按下Escape鍵不會在新場景中顯示鼠標光標。鼠標光標在團結中是隱形的

回答

1

你可以用幾種方法處理,但這裏是問題的核心: 更改Cursor.visible字段不依賴於場景,並且在加載新場景時不會重置。因此,您需要在加載的級別上設置Cursor.visible = true;

我建議做像CursorVisibility一個簡單的腳本會讀這樣的:在每一個場景一個空的遊戲對象上

public class CursorVisibility : MonoBehaviour 
{ 
    void OnLevelWasLoaded(int level) 
    { 
     if (FindObjectOfType<FirstPersonController>() != null) 
     { 
      Cursor.visible = false; 
     } 
     else 
     { 
      Cursor.visible = true; 
     } 
    } 
} 

廣場這一點,你必須光標知名度自動處理。

你也可以放置功能:

void OnLevelWasLoaded(int level) 
{ 
    if (FindObjectOfType<FirstPersonController>() != null) 
    { 
     Cursor.visible = false; 
    } 
    else 
    { 
     Cursor.visible = true; 
    } 
} 
中是唯一到現場沒有第一人稱控制器的任何其他腳本

只要確保用任何FPS控制器實際上命名的名稱替換腳本的名稱:)

+0

請標記答案,如果它幫助你。謝謝:) –

+0

沒有爲我工作;什麼工作雖然,是添加 'Cursor.visible = true; Screen.lockCursor = false;' 到腳本的開始處理程序。 – dirkk0