大家周末好(苦逼的我还在搬砖,哈哈)。
最近接手了一个unity项目,工程里面是js和c#同时开发的(真想锤死这开发者),然后再后续的优化和功能开发中就遇到了js和c#之间调用的问题。
今天我就为大家好好的讲一下这个js和C#之间的调用及其相关注意事项:
首先,我们要明白一点:两种语言的编译顺序,如果我们要C#调用js,那我们肯定要让JS先编译,如果被调用的没有事先被编译,那不是null了?反之亦是如此。(谁先被调用,谁就先编译)。
接着,我们来说一下unity里面编译的顺序。在unity里面主要分为 Standard Assets、Pro Standard Assets、 Plugins和其他文件夹。其编译顺序也是先编译上面三个文件,然后再编译其他文件。
然后,我们来演示JS调用C#(这个时候需要C#先编译!创建一个js脚本,一个C#脚本)
如图:
C#脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TestC : MonoBehaviour {
void Start()
{
}