如何在FPC碰撞对象时禁用MouseLook?

时间:2015-09-06 10:02:39

标签: c# unity3d unityscript gameobject

我正在尝试在碰撞到对象时禁用我的FPC的mouselook。这是FPC触发时我的GameObject的代码:

#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 () {

    }
}

1 个答案:

答案 0 :(得分: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#中您输入intfloat ...等而不是该变量的名称。我希望我能给你足够的帮助:)