2015-09-06 1 views
1

Я пытаюсь отключить mouselook моего FPC, когда он сталкивается с объектом. Вот код для моего GameObject когда FPC спусков:Как отключить MouseLook, когда FPC сталкивается с объектом?

#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# сценария. Я имею в виду, что вы не можете получить доступ к сценарию c# от js, но вы можете получить доступ к 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# вы вводите int, float ... и т. Д. Вместо имени этой переменной. Надеюсь, я вам достаточно помог :)