首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在戈多游戏引擎中使用不同的编程语言?

在戈多游戏引擎中使用不同的编程语言?
EN

Stack Overflow用户
提问于 2022-03-19 02:47:21
回答 2查看 1.2K关注 0票数 4

我希望将不同的编程语言绑定到戈多游戏引擎。是否有关于这个主题的教学文件或视频?例如,这个项目是如何完成的:戈多锈病。如果我能学到基础知识,我就能成功地在另一种语言中工作。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2022-03-19 07:33:24

在这个答案中,我向您展示了在Godot3.x中添加语言支持的不同方法(Godot4.0和GDExtension (它取代了GDNative,希望这意味着更少的自定义构建)的情况会有所不同),我还提到了这些方法所支持的一些语言。然而,这并不是一份详尽无遗的语言清单。

首先,戈多对GDScript和戈多的VisualScript (以及戈多的阴影语言和视觉对口语言(如果这对你来说算得上)提供了正式的内置支持。

有几种使用C++的方法

  • 您可以使用它创建GDNative脚本(它基本上是本机调用的包装器,允许您将它们作为Godot中的脚本使用)。
  • 或者您可以创建模块(这些模块是静态库,可以添加到自定义的Godot中)。
  • 而且,由于戈多源代码在C++中,如果您正在进行自定义构建,则不必限制自己制作模块。

在web中,戈多可以通过JavaScript类与JavaScript进行接口。但是,这种方法不允许将JavaScript脚本添加到Node,等等。

还有一些语言只能添加到自定义的Godot构建中,这是目前对C#的官方支持。

还有其他非官方定制构建,为语言提供语言绑定,如LuaKotlinTypeScriptJavaScript (这一次允许您编写脚本)。

如果您需要添加一个运行时,您可能会这样做。

一些语言利用戈多的官方Mono支持这一事实来支持C#。例如,通过这种方式可以使用F#Clojure

他们从添加一个C#项目开始,然后修改它,以便它使用另一种语言。如果您的语言已经编译成.NET,这是可行的。

可以将其他一些语言添加为通过PluginScript实现GDNative类的插件。这是PythonLua (再次)的例子,您可以从资产库中获得这些信息。

这是向戈多添加语言支持的最友好的方式,但它仅限于使用PluginScript__所能做的事情。

增编:Gil,上述Lua绑定的作者,有一个关于它的实现的文章系列(英文和葡萄牙语):godot pluginscript/附加/文章/。这可能是迄今为止最全面的教程。

其他语言是通过利用GDNative来添加的(它们基本上模仿了您对C++所做的操作)。这是NimRustDHaskellGoE 254E 155SwiftE 256…的情况。

这就是戈多铁锈的工作原理:让本机库使用铁锈和戈多锈创建并添加它们,就像它们是用C++制作的。对于任何已经具备创建本机库的方法的语言来说,这是一个很好的选择。

最后,还有一种方法可以添加对语言的支持:将该语言的转换程序添加到GDScript中,它可以通过一个可以用GDScript编写的加载项来实现自动化。这就是Lisp的情况。

最后一种方法主要用于特定于领域的语言。

票数 2
EN

Stack Overflow用户

发布于 2022-03-19 02:52:33

这里的官方文件提供了您的答案:

戈多正式支持GDScript,C/C++,C#。

可以使用的一些第三方语言有:铁锈、D、Python、Nim和Go。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71534987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档