我开始使用 Unity3d 进行游戏开发,我可以看到有 3 种支持的语言用于创建脚本:C#、unityscript 和 Boo...
尽管过去从事网页设计,我显然使用了 javascript,但经过几次尝试后我发现 Unity3d 并不真正完全支持脚本语言和一些元素,如 new Date()。 valueOf()
和方法中的一些其他语句,例如属性 arguments
和许多其他方法将无法正常工作,而且我的文件似乎不能包含包含所有其他方法如:
(function (scope) {
function Start() {
...
}
...
}(this));
当使用在 JS 中有效的类似 new Date().valueOf()
的东西时,我得到:
MissingMethodException: Method not found: 'System.DateTime.valueOf'. Boo.Lang.Runtime.DynamicDispatching.MethodDispatcherFactory.ProduceExtensionDispatcher ()
那么也许编译器将初始的“unityscript”代码转换为 Boo 语言?所以也许 Boo 是正确的“原生”选择,也许 unityscript 本身并不是开发 unity3d 应用程序的最佳方式?
我在考虑一种语言,它可以完全支持所有已知的本地类和方法,并且可以毫无问题地工作?
对于上面提到的任何错误,我们深表歉意,请让我知道您的想法。
最佳答案
Unity 本身并不使用“真正的”Javascript。见:
http://forum.unity3d.com/threads/1117-Javascript-Version
UnityScript 基于 javascript 2.0。缺少一些东西(switch 语句等),但它们的速度只有 C++ 的一半,比 Mozilla 快得多。
一旦你习惯了,在“JS”中为统一开发是非常非常快速和灵活的......但是当然,如果你要开发原生组件,或者与 C 中的任何东西的接口(interface),你会需要用到C#(毕竟C#不难学)。
关于c# - Unity3D最好的脚本语言是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9452847/