7统一游戏开发语言学习:哪种最好?

想在统一中开始游戏开发吗?您需要熟悉这些统一兼容语言之一。...

开发游戏从未如此简单。像Unity这样的游戏开发平台可以创建从简单的2D平台到完全详细的3D第一人称射击的一切。Unity对小型开发人员是免费的,并且有大量关于如何最好地使用编辑器来创建您的想法原型的教程。

unity-languages

学习如何使用Unity程序只会让你走得更远。游戏的真正核心将是决定其行为的代码。为游戏开发学习哪种语言可能很难——但在统一的情况下,这很简单。

1最佳选择:c#

对于任何一个从Unity开始学习的人,或者任何一个有过面向对象编程知识的人来说,C语言是学习Unity的正确语言。事实上,C语言是平台上唯一值得学习的语言,这是有充分理由的。

Unity使用Mono,它是微软.NET框架的跨平台实现。C#是.NET的主要语言,Unity的所有库都是用C#代码构建的。说C是统一的语言并不夸张。Unity已经明确表示,他们认为C#是未来引擎使用的唯一语言。

这是一个好消息,因为C语言功能强大,易于学习。Unity只是学习C#的众多好理由之一,如果你是初学者,你甚至会发现它更容易理解。开发游戏使学习更有条理,以项目为基础的目标使学生对新科目有更深入的了解。

随着C#job系统和ECS的引入,Unity将C#的功能推向了一个新的高度,新的Burst编译器使它比以往任何时候都快。

2当前的替代方案:javascript

Unity还支持JavaScript,称为UnityScript。自发布以来,JavaScript已经与C并排出现,成为一种功能齐全的统一开发语言。Unity scripting reference在C#和JavaScript中为库的大多数元素提供了示例代码。

这对来自JavaScript背景的开发人员很有用,因为尽管代码的结构方式不同,但他们可以使用熟悉的语法。然而,有一个问题。

虽然UnityScript看起来和JavaScript很相似,但事实并非如此。UnityScript有类,而JavaScript没有。多变量声明和可选分号等JavaScript特性在UnityScript中不可用。

也许最关键的是,搜索Unity项目上的JavaScript帮助总是会引起混乱,因为大多数人将其称为JavaScript而不是UnityScript。网页设计和游戏开发的结果都模糊不清,对于纯JavaScript开发人员来说,语言之间的差异是一个争论点。

也许毫不奇怪,Unity宣布他们将撤回对UnityScript的支持,现在有一个时间表可以让它退役。您仍然可以将JavaScript与Unity结合使用,但是知道它将要结束,您为什么要这样做呢?

三。老三选择:嘘

在统一的早期,可以选择使用Boo——一种类似Python的语言。这也许并不奇怪,因为布的设计师罗德里戈德奥利维拉(rodrigob.deoliveira)为Unity工作。该语言与.NET和Mono兼容,完全可以通过游戏引擎实现。出什么事了?

没有足够的人使用它,很可能假设它只是试图模仿Python。随着时间的推移,Unity放弃了对Boo的支持,而UnityScript即将进行的更改将使所有旧的Boo脚本在Unity中变得毫无用处。有些人可能会认为这是一个错失的机会,因为Boo是对.NET编程中类似Python的语法的一次伟大尝试。

然而,Python的爱好者还有另一个选择。

4奇怪的选择:铁蟒

如果你想开发游戏,Python可能不是适合你的语言,但它是可能的。在他的微软开发者社区博客中,Charlie Calvert概述了如何从C#运行Python,但这不是为胆小鬼准备的。差不多十年后,IronPython仍在积极开发中。

简而言之,您需要从GitHub下载IronPython库,并在您的C项目中引用它们。这将允许您从C脚本调用Python脚本,就像调用任何其他库一样。IronPython还允许从Python调用.NET库。尽管这听起来很有用,但由于Unity依赖于C语言,所以这个功能并没有帮助。

IronPython和IronRuby是将C#与Ruby编程语言连接起来的姊妹项目,它们都是非常棒的项目,但它们不适合与Unity一起使用。

5有趣的选择:lua

统一的外部语言的一个更好的实现是MoonSharp——Lua解释器。这个项目并不是要取代C语言,更多的是充当桥梁。MoonSharp的完美用例是为游戏玩家添加一种用Lua语言创建游戏mod的方法。

你也可以用它来描述对象和设计水平,与你的核心游戏代码分开。

如果您已经在用C语言编写代码,并且正在寻找一种有趣的方法来与代码交互,那么MoonSharp是值得考虑的。因为它在Unity的资产存储中是免费的,所以您可以直接将它导入到您的项目中。

6插件的最佳语言:c/c++

尽管有强大的Unity库和C提供的所有可用工具,但有时您可能需要自己的插件。人们选择插件的主要原因包括速度,或者访问已经用另一种语言编写的代码库。将这些脚本构建到DLL插件中可以节省重新生成的代码,并且在某些情况下可以提高性能。

在大多数情况下,C++将是用于插件创建的语言,但是C也同样有效。只要代码构建到一个DLL中,它就可以被放在Unity的plugin文件夹中,并在代码中引用。然而,如果你已经习惯于C/C++中的编码,那么学习C语言将是一个相对简单的任务。

7插件的新语言:rust

生锈是一种语言,周围有很多嗡嗡声。经验丰富的程序员喜欢它提供的难以置信的数量的控制,同时避免了编写不安全语言如C++的陷阱。Rust是Mozilla在2009年创建的,它是开发人员快速开发高性能软件的一种方法。

虽然不可能直接在Unity中编写Rust,但是可以从Unity代码访问用Rust编写的函数和方法。吉姆弗莱明涵盖了如何做在他的岗位上媒体的细节。

如果这看起来很熟悉,那是因为这是创建本机插件的另一种方法。通过利用Rust与其他语言接口的能力,您可以使用Unity的DllImport属性直接从C代码调用Rust函数。当然,这中间有几个步骤,阅读Jim的后续文章,同时对FFIs(foreign function interfaces)有一个很好的理解,这是很好的建议!

一个简单的选择

Unity对任何非C语言的态度都是明确的,对Unity的不断改进依赖于这种一心一意。再加上微软对C语言的不断改进,学习C语言开发Unity游戏是一件轻而易举的事。一定要检查团结学习一个更简单的方法来学习游戏开发。

这并不是你唯一的选择,Unity只是一个引擎,还有很多游戏开发软件可供选择。

  • 发表于 2021-03-21 18:18
  • 阅读 ( 254 )
  • 分类:编程

你可能感兴趣的文章

寻找最好的编程语言?从这里开始!

...Mac、Linux、Android、iOS和HTML5在内的数十个平台。从我们的统一初学者指南开始。 Java:Java程序员可以使用开源LibGDX框架从头开始快速创建游戏。这个框架可以导出到任何支持Java的桌面平台,再加上Android和iOS。这是...

  • 发布于 2021-03-12 12:24
  • 阅读 ( 297 )

用unity编写游戏:初学者指南

...用性和广泛的功能集使它成为快速游戏开发的理想选择。统一是如此灵活,你甚至可以使自己的自定义游戏控制器与一点DIY的诀窍! ...

  • 发布于 2021-03-13 11:55
  • 阅读 ( 234 )

要构建android应用程序,您需要学习以下7种编程语言

...的其他环境中使用该语言,例如使用Unity和C#创建复杂的游戏。一个用Xamarin构建的应用程序的例子?市场观察。 ...

  • 发布于 2021-03-15 11:36
  • 阅读 ( 239 )

如何选择正确的web编程语言

...的语法也是一个优势。包括像Minecraft或DIY Flappy Bird这样的游戏,让孩子们的编程变得有趣和容易。以下是一些适合初学者的语言: ...

  • 发布于 2021-03-16 01:36
  • 阅读 ( 232 )

9个最好的代码游戏,以建立你的编程技能

... 这就是为什么你应该留出时间来玩这些编码游戏和挑战。它们不仅是一种有趣的休息方式,而且通过实践和体验,您可以更快地学习并保留更多信息。 ...

  • 发布于 2021-03-17 21:19
  • 阅读 ( 440 )

统一学习是掌握游戏开发最简单的方法

...发平台之一。这个平台有一个很大的在线教师社区,但是统一学习是学习如何用软件**游戏的新的官方方式。 ...

  • 发布于 2021-03-19 21:05
  • 阅读 ( 252 )

适合初学者的最佳unity 3d教程

... 铁锈,炉石和路缘石太空计划都是统一的游戏。这些教程将教你一切你需要建立你的梦想游戏!首先,关于名字的注释。 ...

  • 发布于 2021-03-21 15:28
  • 阅读 ( 331 )

学习c#编程的7个实际原因

... 4统一游戏开发 ...

  • 发布于 2021-03-21 18:41
  • 阅读 ( 376 )

8个免费的游戏开发软件工具,让你自己的游戏

... 三。统一 ...

  • 发布于 2021-03-22 21:13
  • 阅读 ( 357 )

为什么python不是适合您的编程语言

...种语言。由于其可读性强和语法直观,许多人发现从其他语言学习Python更容易。 ...

  • 发布于 2021-03-23 11:47
  • 阅读 ( 352 )