c# - Unity3D最好的脚本语言是什么

标签 c# compiler-construction unity3d unityscript boo

我开始使用 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/

相关文章:

c# linq 如果项目在列表中并从列表中获取匹配项目

c# - Resharper:如何查找接口(interface)特定实现的用法

c - <= token 之前的预期表达式

c# - 无法从 Unity 中的对象池获取游戏对象

unity3d - 如何在unity3D中平滑移动Camera?

c# - 创建类实例有多昂贵? (性能考虑)

c# - 检查 Excel 工作表中是否存在列

C# 代码不会启动程序。未处理 Win32Exception

java - 编译代码 - 创建 IDE

java - Java中的条件评估过程