Unity3D的脚本语言选择

对于UnityScript来言,最大的问题是隐式变量声明。
比如
var myVar;

<!-- lang: js -->
function Update()
{
if (myvar > 0)
{
    // bla bla bla...
}
}

在这一段中我把myVar拼成了myvar导致编译器生成一个新的局部变量并为0,从而if不会进入。
然后你得不到任何的警告,因为这是合法的,有无数的缺陷,但仅仅这个就值得你改用C#。

前面是第一个原因,第二个原因是Visual Studio,由于intellisense的帮助,你可以学习和发现api。
简单来说不会有更好的.NET编辑器,假如有人说有,那么要么是被误导要么恨微软或者恨不开源什么的。它与Mono develop相比提供更好的代码完成。
进一步来说,用C#你可以有更低的性能损耗,比javascript快上那么一点,也拥有一些额外的特性

你可能感兴趣的:(unity,3D)