【问题标题】:How to disable MouseLook when FPC collide to an object?当 FPC 与对象碰撞时如何禁用 MouseLook?
【发布时间】:2015-12-02 01:02:48
【问题描述】:

当我的 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 () {

    }
}

【问题讨论】:

    标签: c# unity3d unityscript gameobject


    【解决方案1】:

    如果您想从另一个脚本控制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# 中键入int、float...等而不是该变量的名称。我希望我对你有足够的帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-25
      • 1970-01-01
      • 2023-02-25
      • 1970-01-01
      • 2013-08-21
      相关资源
      最近更新 更多