Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt游戏编辑器-将游戏生成为可执行文件?_Qt_Game Engine - Fatal编程技术网

Qt游戏编辑器-将游戏生成为可执行文件?

Qt游戏编辑器-将游戏生成为可执行文件?,qt,game-engine,Qt,Game Engine,我为我的总体“无趣”提前道歉。这是我关于堆栈溢出的第一个问题,我对Qt和游戏编辑器编程都是新手。也就是说,我确实觉得我的编程技能并没有落后太多 我已经找了两天这样的问题了,无论是在这个网站上还是在这个网站下,都没有找到一个。这可能是因为我不知道用什么词来简单地描述我正在寻找的东西 我开始用Qt构建一个简单的游戏编辑器和引擎。请不要给出“你真的想做游戏编辑器/引擎”或“不想”的回答。我有我的理由相信这就是我想要创造的。我的问题与编辑器的“导出到可执行文件”或“构建”功能有关。我一直在想办法解决这个

我为我的总体“无趣”提前道歉。这是我关于堆栈溢出的第一个问题,我对Qt和游戏编辑器编程都是新手。也就是说,我确实觉得我的编程技能并没有落后太多

我已经找了两天这样的问题了,无论是在这个网站上还是在这个网站下,都没有找到一个。这可能是因为我不知道用什么词来简单地描述我正在寻找的东西

我开始用Qt构建一个简单的游戏编辑器和引擎。请不要给出“你真的想做游戏编辑器/引擎”或“不想”的回答。我有我的理由相信这就是我想要创造的。我的问题与编辑器的“导出到可执行文件”或“构建”功能有关。我一直在想办法解决这个问题,但我不知道该如何着手解决这个问题。据我所知,可能是一行代码,也可能是一万行

有人能给我指出正确的方向吗?我需要做什么样的编程才能让它工作?如果这很难,而且涉及到我还不知道的概念,那实际上是一件好事,因为这意味着我需要更多的学习。我只是需要一些指导


谢谢大家!

实际上,游戏编辑器并不将游戏构建为可执行的,它们只是将游戏脚本和资源打包成已经实现的游戏可执行文件可以读取的格式。游戏可执行文件不是由游戏编辑器创建的,而是按常规实现的

也就是说,您可能希望将游戏脚本编译为本机-在这种情况下,您必须将已编译的已使用脚本与游戏捆绑在一起,并从子进程调用它,以将脚本代码编译为共享库插件,您可以在游戏引擎中动态加载和使用该插件。这里没有魔法,无论是游戏还是其他应用程序,都是一样的基本东西


简言之,游戏编辑器不构建可执行文件,编译器才是。除非你想,除了游戏引擎,也要创建你自己的C++编译器;p> 实际上,游戏编辑器并不将游戏构建为可执行的,它们只是将游戏脚本和资源打包成已经实现的游戏可执行文件可以读取的格式。游戏可执行文件不是由游戏编辑器创建的,而是按常规实现的

也就是说,您可能希望将游戏脚本编译为本机-在这种情况下,您必须将已编译的已使用脚本与游戏捆绑在一起,并从子进程调用它,以将脚本代码编译为共享库插件,您可以在游戏引擎中动态加载和使用该插件。这里没有魔法,无论是游戏还是其他应用程序,都是一样的基本东西

简言之,游戏编辑器不构建可执行文件,编译器才是。除非你想,除了游戏引擎,也要创建你自己的C++编译器;p> 仅凭“如果这很难并且涉及到我还不知道的概念”就足以结束这个问题。好像我们知道你知道什么和不知道什么

游戏编辑器通常与创建可执行文件作为最终产品的实际游戏构建过程分离。这是由于将生产链的所有部分放入单个软件的总体复杂性

也就是说,您可以将编辑器“连接”到生成可执行文件所需的构建工具。例如Unity SDK(包括Unity引擎、Unity编辑器等)

这一普遍做法的一个巨大例外是,它不久前就开始开源了。我确信AGS使用的是
.NET
C
。它几乎是一体式的软件包,包括一个内置工具,用于从自定义语言生成可执行文件并向其中添加引擎。这似乎就是你所寻找的,尽管这类软件的复杂性可能会让人望而生畏。如果太多,您当然可以尝试将外部构建工具无缝地添加到编辑器中
Qt Creator
是一个很好的例子,可能是所有IDE中的99%——编辑器只是提供了一个与建筑工具交互的界面,而建筑工具不是它的一部分

P>最后但并非最不重要的是,你必须考虑将来需要的维护。首先,在编辑器中集成构建基础结构似乎是一个好主意,但是如果要替换编辑器中或同一构建基础结构中,甚至两者中相对较大的代码块,会发生什么情况?我的建议是创建编辑器,只需为现有的构建工具添加一个接口机制,可以轻松地进行更改,而不会破坏编辑器的代码或表示构建工具集的代码。

仅“如果它很难并且涉及到我还不知道的概念”,就足以解决这个问题。好像我们知道你知道什么和不知道什么

游戏编辑器通常与创建可执行文件作为最终产品的实际游戏构建过程分离。这是由于将生产链的所有部分放入单个软件的总体复杂性

也就是说,您可以将编辑器“连接”到生成可执行文件所需的构建工具。例如Unity SDK(包括Unity引擎、Unity编辑器等)

这一普遍做法的一个巨大例外是,它不久前就开始开源了。我确信AGS使用的是
.NET
C
。它几乎是一体式的软件包,包括一个内置工具,用于从自定义语言生成可执行文件并向其中添加引擎。这似乎就是你所寻找的,尽管这类软件的复杂性可能会让人望而生畏。如果太多了,你当然可以试着去塞默斯