我正在尝试在碰撞到对象时禁用我的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 () {
}
}
答案 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#
中您输入int
,float
...等而不是该变量的名称。我希望我能给你足够的帮助:)