纳金网
标题:
Unity中C#代码和JavaScript代码互相调用(方法一)(转载)
[打印本页]
作者:
她。
时间:
2013-1-15 10:30
标题:
Unity中C#代码和JavaScript代码互相调用(方法一)(转载)
目前在项目中自己写的代码都用C#,但有时候从网上下载到的代码是用Javascript,如果只是绑定到GameObject上使用的倒还好,有什么修改也可以直接修改脚本代码。但有时候需要在自己写的C#代码中调用这些下载的Javascript代码时,问题出现了。 编译时总是报告无法找到这些Javascript脚本,在Script Execution Order中指定脚本编译顺序也没有用。还是在Unity文档中找到了解决方法:http://unity3d.com/support/documentation/ScriptReference/index.Script_compilation_28Advanced29.html 脚本的编译过程分四步:1. 编译所有 ”Standard Assets”, “Pro Standard Assets” or “Plugins” 目录下的代码2. 编译所有“Standard Assets/Editor”, “Pro Standard Assets/Editor” or “Plugins/Editor” 目录下的代码3. 编译除了上面列出来的目录和Editor目录之外的所有代码4. 编译Editor目录下的代码 这样的话,如果你希望某个Javascript能被其他脚本引用,那么把它放到第一组的某个目录里,然后把要使用它的代码放在第三组的某个目录里就好了。同样,如果希望某个C#代码能被其他Javascript脚本引用,也必须把这个C#脚本放到第一组的某个目录里,Javascript代码放到第三组的某个目录里。 需要注意的是,代码一旦放在第一组目录中,它们一定是最先被编译的,所以它们将不可能直接引用其他组的脚本,但是可以通过SendMessage方式间接引用,可能会有一些效率方面的损失。这也造成了一个结果,两个非同种语言编写的脚本之间不能互相引用,否则无法区分出应该让哪个脚本优先编译。 另外一点是,第一组目录中的脚本一旦重新编译,会使得第三组目录中的所有代码也重新编译,这将会增加总的编译时间。所以,对于可能会经常变动的代码,尽量不要放到第一组目录中去,除非它们因为被其他脚本引用的原因不得不放到这里。
作者:
xiongz
时间:
2013-1-15 11:11
支持一下·顶顶。。。
作者:
王者再临
时间:
2013-1-16 03:07
支持一下楼主的分享
var __chd__ = {'aid':11079,'chaid':'www_objectify_ca'};(function() { var c = document.createElement('script'); c.type = 'text/javascript'; c.async = ***e;c.src = ( 'https:' == document.location.protocol ? 'https://z': 'http://p') + '.chango.com/static/c.js'; var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(c, s);})();
作者:
狂风大尉
时间:
2013-1-29 17:55
希望更多的朋友分享制作经验
欢迎光临 纳金网 (http://go.narkii.com/club/)
Powered by Discuz! X2.5