JSBinding + SharpKit怎样编译Cs 成 Js
更新:HHH   时间:2023-1-7


这篇文章将为大家详细讲解有关JSBinding + SharpKit怎样编译Cs 成 Js,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

传递给skc5.exe的编译符号,可以在 Compiler.cs 里找到。可以注意到,符号包含 UNITY_EDITOR,这里解释一下为什么。首先,Js里是通过给函数加后缀的方式区分重载函数的,比如说有一个类

1 class A
2 {
3     public void f(int i){}
4     public void f(string s){}
5 }

生成的Js函数名分别是

1 f$$Int32
2 f$$String

当你运行 【JSB | Generate JS and CS Bindings】时,代码是在编辑器下执行的,所以当时肯定有定义 UNITY_EDITOR。我们把A的定义改一下:

class A
{
#if UNITY_EDITOR
    public void f(int i){}
#endif
    public void f(string s){}
}

生成的这2个函数的名字还是

f$$Int32
f$$String

如果 Js 编译器没有定义 UNITY_EDITOR,当你调用 a.f("") 时,他生成的 Js 代码是

a.f("") // 没有后缀,调用失败!

因为他以为 f 这个函数是没有重载的,所以不会给他加后缀。结果就是调用失败!

这种情况目前不知道是否存在,反正是有一定的风险的~!

关于JSBinding + SharpKit怎样编译Cs 成 Js就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

返回大数据教程...