首页 > 代码库 > Unity中CS脚本于JS脚本交互

Unity中CS脚本于JS脚本交互

这里需要注意的是被调用的脚本必须放在 "Standard Assets"、 "Pro Standard Assets" "Plugins" 这三个文件夹中的任何一个里,而调用它的脚本不能在一个目录文件夹中,否则无法编译通过,原因是Unity会最先编译这三个文件夹,“Editor”目录里的脚本稍后编译,其他的脚本最后编译(既 CS调用JSCS脚本放在其他文件家中,JS脚本要放在 如上三个文件夹中先编译;JS调用CSJS脚本放在其他文件夹中,CS脚本要放在如上三个文件夹中先编译)


一、CS调用JS脚本

     JsMM.js

    //JsMM脚本中的方法
    function spoken()
    {
        print("js  js   js   js  js ");
    }

Test.cs 脚本

public class Test : MonoBehaviour {
    void OnGUI()
    {
        if (GUI.Button(new Rect(50, 150, 100, 50), "diaoyong JS"))
        {
            //获取 JsMM脚本
            JsMM js = (JsMM)GetComponent<JsMM>();
            //调用 js脚本中的方法
            js.spoken();
        }
    }
}


将 JsMM.js和 Test.cs都挂在一个物体上,运行即可



二、JS调用CS


    CsMM.cs 脚本


using UnityEngine;
using System.Collections;

public class CsMM : MonoBehaviour {

    public void AAA()
    {
        Debug.Log("aaaaaaa");
    }
}



JsCode.js


//#pragma strict

function OnGUI(){
    if (GUI.Button(new Rect(50, 300, 100, 50), " JS  DIAO YONG cs")){
        var csMMScript = gameObject.GetComponent("CsMM");
        csMMScript.AAA();
    }
}


运行即可


注意在JS脚本中注释   //#pragma strict   不然会报错 找不到 CS脚本中的方法






Unity中CS脚本于JS脚本交互