首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重构C++代码以使用脚本语言?

重构C++代码以使用脚本语言?
EN

Stack Overflow用户
提问于 2010-06-13 19:30:29
回答 2查看 542关注 0票数 5

背景:

几个月来,我一直在用C++编写一个平台游戏。这款游戏目前完全是用C++编写的,不过我对使用Lua作为敌人AI的可能性很感兴趣,可能还有其他一些逻辑。然而,该项目是在没有Lua的情况下设计的,我已经为大部分AI编写了工作的C++代码。我希望Lua能够提高游戏的可扩展性,但不知道将现有的C++代码转换为Lua是否有意义。

问题:

什么时候,如果有的话,采取完全功能的C++代码并将其重构成像Lua这样的脚本语言是合适的吗?

这个问题故意有点模糊,所以可以自由地给出与给定背景无关的答案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-13 19:38:51

脚本语言对于可能频繁变化或扩展的事情很有用,并且可以从速度上提供交易。

在核心库中使用脚本语言是没有意义的,因为它们是相对静态的(它们所做的只是一遍又一遍地处理东西),并且需要快速处理。但是对于像人工智能这样的事情来说,这是一个完美的想法。您可以在不重新编译的情况下调整AI,并且允许将来的更改非常好。一旦你上船,你可以预编译脚本语言并称它为好。

它也是扩展性的最佳选择。为你的游戏提供一个Lua接口,任何人都可以使用简单的语言编写插件,而不需要编译。你的Lua界面越充实,插件就越有表现力和功能。

如果您已经让所有东西都正常工作了,除非您打算改进它或允许扩展,否则我不认为有什么理由把它去掉;您已经完成了。这将是在你的下一个游戏引擎记住的东西。

尽管如此,如果你还没有完全完成,这是一种爱好/实践之类的事情,我建议你这样做。这将是您在游戏引擎中添加脚本功能的介绍。当你制造更大更复杂的引擎时,你就不需要担心新的东西了。

票数 6
EN

Stack Overflow用户

发布于 2010-06-13 22:12:58

什么时候,如果有的话,采用完全功能的C++代码并将其重构成像Lua这样的脚本语言是否合适?

很少。我在这里做过这样的事情:

  • ,我想要改变设计或者添加功能,无论如何都需要我重新访问C++代码。
  • ,我发现了一部分C++代码,我一遍又一遍地修改。
  • ,我相信通过从C++迁移到Lua,我可以使代码小五到十倍。

前两颗子弹是任何人都能做到的。第三,需要一些经验。

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

https://stackoverflow.com/questions/3033583

复制
相关文章

相似问题

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