XNA的脚本引擎


9

假设我正在使用XNA在C#中制作这款大型游戏。

在我的代码库中必须包含脚本功能的哪些选项?


2
具体来说,您实际上需要脚本引擎的哪些功能?脚本引擎为您提供的绝大多数功能已在C#中提供。
安德鲁·罗素

基本上,我正在考虑制造类似GUI的XNA游戏机。因此,您可以使用该游戏制作工具,并从脚本访问我的C#类和函数来实现游戏性。
astk

1
谁是最终用户?这像Klik&Play(儿童,业余爱好者)吗?还是更像虚幻的Kismet(艺术家和设计师)?还是有所不同?
安德鲁·罗素2010年

假设像Game Maker。尽管它允许实施任何游戏机制,但对于Klik and Play仍然可以。不需要像Kismet这样的可视脚本编辑器。
astk's

这与您提出的问题大不相同。也许尝试问另一个更好地解释您的要求的人。还是我的简短回答,就是:使用C#委托作为可将函数视为对象的系统的基础。使用这些对象构建GUI系统,或按照我的答案中所述通过C#将系统暴露给高级最终用户。
安德鲁·罗素

Answers:


15

我主张不要在C#中使用脚本语言。C#已经解决了脚本引擎用来解决的绝大多数问题。只需以使用脚本语言的方式使用C#。

因为我之前已经看过几次,所以这里有一些适合您的阅读材料:


更新:如果您需要实时编辑工作流,请尝试使用这种厚脸皮的方法来使用“编辑并继续”


1

如果计划以XBox360或Windows Phone 7为目标,那么您的选择将受到限制。这些平台不支持运行时代码生成,因此您唯一的选择是解释语言。我建议您避免使用解释性语言,因为它们的表现范围通常从“低于标准”到“糟糕”。

如果您仅针对Windows,并且确实需要/想要一种脚本语言,请查看IronPython或IronRuby。两者都针对DLR,并且表现出色(因为它们是动态语言)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.