从Unity中的Javascript访问静态C#变量

时间:2016-05-23 16:15:07

标签: javascript c# variables unity3d static

我试图从统一3D中的javascript访问C#静态变量。我如何实现它?我想得到我在javascript中使用它的分数。

Score.cs

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class Score : MonoBehaviour {
    public Text txt;
    public static int score;
    public GameObject gameobj;

    void Start () {
        txt = gameobj.GetComponent<Text>();
        txt.text = "Score : " + score;
    }


    void Update () {
        txt = gameobj.GetComponent<Text> ();
        txt.text = "Score : " + score;
        score = score + 1;
    }
    int GetScore(){
        return score;
    }
}

Collide.js

#pragma strict

 function OnTriggerEnter(otherObj: Collider){

    var scoreScript : Score;
        scoreScript  = GetComponent("Score");
        int score = scoreScript.GetScore();

         if (otherObj.tag == "Wall"){ 
            Debug.Log(score);
             Application.LoadLevel(2);
         }
          else if (otherObj.tag == "End"){ 
             Application.LoadLevel(6);
         }

 }

1 个答案:

答案 0 :(得分:0)

让我告诉你答案:

  1. C#代码在JS代码
  2. 之前编译
  3. 一般来说,JS代码可以访问C#类,相反是不可能的。
  4. 但是,您可以通过将脚本移动到先前编译的special folders来影响编译顺序。您可以将JS脚本移动到名为&#34; Plugins&#34;的文件夹中。那就行了。
  5. 您还可以查看(1)以获取更多说明,而有关此处所有步骤的详细指南(2)