这里需要注意的是被调用的脚本必须放在 "Standard Assets"、 "Pro Standard Assets" 和"Plugins" 这三个文件夹中的任何一个里,而调用它的脚本不能在一个目录文件夹中,否则无法编译通过,原因是Unity会最先编译这三个文件夹,“Editor”目录里的脚本稍后编译,其他的脚本最后编译(既 CS调用JS,CS脚本放在其他文件家中,JS脚本要放在 如上三个文件夹中先编译;JS调用CS,JS脚本放在其他文件夹中,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脚本中的方法
时间: 2024-10-09 04:01:14