【发布时间】:2011-02-19 10:57:51
【问题描述】:
我正在开发一款游戏,现在我想为它制作脚本系统。
现在我有了抽象类 Object,它被所有游戏对象继承。我必须写很多技术代码,在enum中添加新的对象类型,为每个对象注册解析器函数(该函数从文件中解析对象的参数)。
我不想做这样的工作。所以这个想法是获得一些脚本系统(例如 boost.python,因为我在我的项目中使用了 boost)。每个对象都是一个简单的 python 脚本,在 c++ 端我只需加载并运行所有脚本。
Python 不是硬类型的,因此我可以注册函数、动态构建类型而不存储枚举等。唯一不好的部分是编写了很多绑定代码,但它只生成一次。
我的想法对吗?
【问题讨论】:
-
尽管我很喜欢 Python 作为一种语言,但如果你想要一种数据描述和简单的脚本语言,可以轻松与 C 和 C++ 集成,我建议使用 Lua。
-
@delnan 问题主要不是关于脚本语言,而是关于脚本使用的想法。