Unity:我必须学习一种还是两种(C#、UnityScript)

Unity: Do I have to learn one, or both (C#, UnityScript)

我原本以为一个人必须同时了解 C# 和 UnityScript 才能使用 Unity 进行开发。不过现在看来,自己只需要知道一个就可以了。所以,

  1. 这两种语言做的事情相似吗,因此我应该用一种语言编写代码,还是应该同时学习这两种语言,因为我应该同时使用这两种语言?
  2. Unity 使用 C# and/or UnityScript 因为我一直认为游戏 必须 至少使用 2,即使在维基百科,它写得好像是定义之类的。 (我知道有些游戏可以单独使用 pygame 之类的东西制作,但我指的是像 AAA 游戏这样的游戏)。
  3. 从 2 继续,或者您 使用的不仅仅是 C# and/or UnityScript 在使用 Unity 的情况下,而 Unity 仅适用于游戏的某些部分?

“unityscript”已弃用

您必须使用 C#。就是这么简单。


来自我在 Unity 中非常有限的开发:

这是一个非此即彼的事情。

我只使用 C# 编写了快速技能测试游戏,因为我以前对 C 和 C++ 的了解更加熟悉它。在阅读文档以决定我是否尝试将代码移植到 UnityScript 代码时(同样,作为技能测试),我的理解是无论哪种方式你都能得到你想要的最终结果。

在这些游戏中,我编写了各种组件,包括 UI、游戏对象、地形碰撞,甚至摆弄跳跃和重力引擎。我从来没有停下来走走“好吧,该死。看起来我需要为此使用 Unity 脚本。”

Unity 中的游戏,据我所知,可以两者都使用。但我从来没有被迫不得不使用其中之一。

如果你曾经 运行 进入 Unity 强制你同时使用两者的部分,请继续并回到这个 post 来对我大喊大叫。

您几乎可以使用您最熟悉的语言。当您喜欢另一种语言时,将会有使用一种语言的奇怪资产。如果您想使用和调整该资产的功能,您需要使用他们的语言进行操作。

这些脚本协同工作,并且它们可以同时存在于给定项目中。正如这个问题所证明的那样,这样做会变得混乱:

Unity3d: Accessing JS variable from c# and vice versa

我相信一些基本的免费资源在 UnityScript 中,例如角色控制器。如果您计划大量使用其中的一种并且需要定期与这些脚本进行通信,它可能会影响您的语言决定。希望这可以帮助。

单个问题太多post,我们尽量提供相应的答案。

  1. Do both the languages do similar things

答案:在编程中,理论上,数学上,严格来说,是的。它们都是等价的。 实际上,不,它们相差很大。 ref

I should code in one, or should I learn them both as I'm supposed to use both?

答案:我会说这在很大程度上取决于您过去的经验。如果您的背景是 C++ 或 Java,您可能最熟悉 C# - 但是如果您熟悉动态类型语言,例如 JavaScript / Basic 或 PHP,您可能更喜欢 JavaScript.

如果您以前没有编程经验 - Java脚本可能更容易入门 - 因为您不需要担心类型和转换。ref

Does Unity only use C# and/or UnityScript cuz I always thought games had to use at least 2

回答:绝对不是强制性的,很大程度上取决于你的专业知识、要求、团队实力和管理。

Unity is only for certain parts of the game?

回答:绝对可以,unity 允许您构建、进行照明并提供一些粒子效果(如果需要)。它不允许您进行复杂的建模它提供编程接口,即使单一开发人员是一个单独的应用程序。

有用的链接:

  1. https://gamedev.stackexchange.com/questions/8118/what-are-the-pro-cons-of-unity3d-as-a-choice-to-make-games
  2. https://www.quora.com/What-are-the-main-pros-and-cons-of-Unity-3D-and-Unreal-Engine

老实说,如果你想在游戏中编写脚本时更自由,你应该学习 c# 因为它是基于它的,但如果你是编写脚本的新手,我可以推荐使用 bolt,它是可视化脚本你可以了解代码的作用。 我这样做了,它帮助我获得了一些关于脚本的想法,但现在我正在尝试用 c# 编写它,因为它至关重要,而且 c# 比大多数其他语言容易得多

毕竟,你应该选择一个你觉得更舒服的。

并且不要忘记使用一些 unity ready-project,它们的帮助远远超出您的想象,并检查他们的代码。