- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我用 C# 制作了一个简单的游戏引擎(在 VB 2008 中,主要是为了我自己)。有一个主要的应用程序可以处理图形和其他东西,实际游戏中的大部分数据将在一个 dll 中,该 dll 是使用我提供给游戏设计师的工具生成的。
我听说过很多关于 C# 非常适合编写脚本的信息(看起来它比其他任何方式都更适合我的需求),但我无法真正找到它究竟是如何完成的答案。我遇到了这个问题:
我显然不想给出主 exe 的源代码,但它将包含编写脚本所需的所有主要方法(因为它们作用于主 exe)。
如果没有定义将在父 exe 中调用的方法,那么如何生成 dll?主 exe 将把 dll 作为依赖项来使用它。这意味着 dll 不能依赖于会导致循环的 exe。
我可以创建另一个 dll,exe 和库都可以使用,但是其中的方法将无法直接作用于使用它的主 exe。
我想到的唯一合乎逻辑的解决方案是:
虽然这看起来不太优雅。
我在研究中看到了很多单词(MAF、MEF、Roslyn 等),直到我厌倦了无法继续阅读。仅此一项我就花了好几个小时。
在您看来,我应该怎么做呢?我忽略了什么吗?
最佳答案
我不知道您从哪里听说 C# 非常适合脚本编写。 Rosyln 的半生不熟的尝试并不是真正的“脚本”。
为什么不尝试其中一种 DLR 语言 - 例如 IronPython 和 IronRuby?
还有用于 .NET 的 Lua 绑定(bind)。如今,大多数游戏开发人员都在 Lua 中编写脚本。因此,如果您打算将其封闭源代码,模组制作者社区肯定会喜欢您的游戏引擎。
关于c# - 如何为游戏编译 C# 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15457456/
我是一名优秀的程序员,十分优秀!