2015-09-06 22 views
1

我試圖禁用我的FPC的mouselook,當它碰撞到一個對象。下面的代碼到我的遊戲對象時,FPC是觸發:如何在FPC碰撞對象時禁用MouseLook?

#pragma strict 

var showButtons : GameObject; 

function Start() { 
    showButtons.SetActive(false); 
} 

function OnTriggerEnter() 
{ 
    showButtons.SetActive(true); 
} 

function OnTriggerExit() 
{ 
    showButtons.SetActive(false); 
} 

function Update() { 

} 

現在我已經寫在C#代碼,我對如何將這些代碼轉換爲UnityScript,這樣我可以輕鬆地插入此代碼,以我的UnityScript不知道上面的代碼。順便說一下,這個C#代碼工作良好。請幫助我將此C#代碼轉換爲UnityScript。

using UnityEngine; 
using System.Collections; 

public class pauseCollision : MonoBehaviour { 

    MouseLook playerLook; 
    MouseLook camLook; 

    // Use this for initialization 
    void Start() { 

     playerLook = (MouseLook)GameObject.Find("First Person Controller").GetComponent("MouseLook"); 
     camLook = (MouseLook)GameObject.Find("Main Camera").GetComponent("MouseLook"); 

     playerLook.enabled = false; 
     camLook.enabled = false; 
    } 

    // Update is called once per frame 
    void Update() { 

    } 
} 

回答

0

如果要控制從另一個腳本c#腳本,你應該寫另一個劇本爲c#腳本。我的意思是,您無法訪問js中的c#腳本,但是您可以從另一c#腳本訪問c#。我會建議你將其他腳本(你自己寫的)改爲c#(因爲它比mouselook腳本簡單:))。如果你不知道如何統一編寫c#,也不要不高興。他們非常相似。例如,在js代碼是這樣的團結:

var speed : int; 
function Update(){ 
transform.Translate(Vector3.forward * speed *Time.deltaTime); 
} 

如果我們將其更改爲C#格式,它應該是這樣的:

int speed; 
void Update(){ 
transform.Translate(Vector3.forward * speed *Time.deltaTime); 
} 

就是這麼簡單。只有function變爲void,並在聲明變量時,在c#中輸入intfloat ...等,而不是該變量的名稱。我希望我幫你夠:)