【问题标题】:How to compile a string xna如何编译一个字符串 xna
【发布时间】:2015-01-15 22:32:39
【问题描述】:

基本上,我想创建可以从 STRING 编译的代码,我将从文件加载。 这甚至可能吗? 我进行了研究,但找不到任何答案。

【问题讨论】:

  • 您能否详细说明您的主要目标是什么以及您真正想要实现的目标是什么
  • 你可能希望你搜索System.CodeDom.Compiler
  • 我正在制作一款格斗游戏,有以下类别:玩家、角色、移动。所以,一个角色会有一些动作,这些动作将在 Player 类中检查。在这个想法中,一些角色的动作将包括一些跳跃、冲刺、击打、移动,以及在不同时间以不同速度进行的所有动作。所以我想,为什么不编码我的每一个角色移动呢?我的游戏代码太长,无法为每个角色编写,因此我想将所有“移动”代码放入文件中,并在需要时加载它们。

标签: c# string compilation load xna-4.0


【解决方案1】:

阅读您的后续评论,听起来您要寻找的是脚本语言,而不是动态编译 C# 代码。脚本语言允许您将代码作为字符串传入和执行,同时还允许将当前执行与该代码联系起来。例如,您可以将角色的当前健康状况传递给脚本语言,然后读回角色的当前状态(死亡?免疫?等)。为游戏编写脚本的两种最流行的语言是LuaPython。这两种语言都有 .NET 库/绑定,允许它们在 C# 中使用。

自从我使用 Lua 在 C# 中建立自己的项目以来已经有一段时间了,但我相信 this tutorial 看起来与我使用的非常相似,因此我如何回答我的问题(即,能够将它们紧密结合)。但是,在 Google 中搜索“lua C# binding”或“python .NET binding”将为您提供大量库和教程。您最终决定选择哪一种实际上取决于这两种语言中的哪一种(尽管肯定还有许多其他脚本语言),您觉得使用起来更舒服。

我想,正如 EZI 上面所说,动态编译 C# 代码将是可能。但是从您的问题来看,听起来您正在寻找一种脚本语言。

【讨论】:

  • 感谢您的参考和建议。我想这就是我一直在寻找的。我将通过本教程看到,我认为,从初学者的角度来看,这将在我的项目中派上用场。谢谢亚历克 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-06
  • 2014-10-03
  • 2015-02-13
  • 1970-01-01
相关资源
最近更新 更多