【问题标题】:Scripting in C# - Portable Library for XNA and 360?C# 中的脚本 - XNA 和 360 的便携式库?
【发布时间】:2010-06-27 03:23:30
【问题描述】:

我只是想知道这是否可能;如何在 C# 中进行简单的脚本编写。 基本上,假设我有这样的结构:

Structure
   int a
   int b
   int c

   Function ParseValue(pString as String)

         try
              return interpret(pString)
         catch
             return 0
         end try

   End Function

ParseValue 将是我的问题所在,特别是“解释”。 “解释”只是我正在寻找的代码/实现的通用占位符。

假设我将 pString 的值传递为“a + b + c”。因此,代码会将字符串解释为“返回添加 a + b + c 的值”在一起。如果我不能这样做,请“返回 0”。必须返回 0 的一个很好的例子是“(a + b) / c”,并且 c = 0 的值(不能被零除)。

可以这样做吗?我知道很久以前我能够使用 Microsoft Scripting Control 在 VB6 中实现类似的功能,但是是的。那是 12 年前的事了,与 C#/XNA/360 不兼容。我认为:P

编辑:可以解释的语言无关紧要。如果我可以使用 VB.Net 或 C# 并在其中解释 VBSCript 或 JScript,我会很满意。

【问题讨论】:

    标签: c# scripting xna xbox360


    【解决方案1】:

    这是 Mono 的 CSharp 编译器实现某些脚本功能的第一个有趣的用法,

    http://gent.softcatala.org/jmas/bloc/pivot/entry.php?id=449&w=jordis_english_bloc

    你可以看看这个技巧是否可以在 XNA 上使用。

    【讨论】:

    • 这是正确的链接吗?我收到 404/找不到服务器错误 :(
    【解决方案2】:

    我不知道可用于 .Net Compact Framework 的特定脚本库(即:可以在 360 上运行的脚本库)。你可能能找到一个,我只是没看过。我见过用 C# 编写的 Lua 解释器,但我不确定它是否适用于 Compact Framework。 (而且我不记得我最初是在哪里找到它的。)

    但是,您可以在 360 上动态加载预编译的程序集(在 Windows 上您也可以动态编译它们,但 360 只能加载它们),这将允许您使用任何.Net 语言作为您的“脚本”语言。那么,问题是,您通过使用脚本语言究竟能获得什么?你可以在不重启游戏的情况下修改脚本,但你仍然需要经过编译过程,调试变得更加困难。

    考虑到 C# 的快速编译速度,我认为您的游戏最好不要使用脚本语言。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-20
      相关资源
      最近更新 更多