温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JSBinding + SharpKit怎样编译Cs 成 Js

发布时间:2021-12-13 19:06:40 来源:亿速云 阅读:100 作者:柒染 栏目:大数据

这篇文章将为大家详细讲解有关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就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI