使用C(99),我有一个从Lua脚本加载Lua表的游戏。
在技术方面没有问题,所有的工作都是按计划进行的。但是,C核心使用了许多常量来定义项类型等等。该脚本实际上提供了要加载的武器数据,并且应该使用相同的常量名称/值来澄清。在C中,常量是像#define ITEM_TYPE_EDIBLE 2这样的东西。
因此,我的问题是:如何从C向Lua导出一个长整数列表(~300定义)?多个脚本应该使用该列表,虽然内存中的大小并不是真正需要考虑的问题,但我主要是为了方便起见。
我想过这些可能的解决方案,但不确定哪一种从长远来看会更好:
那么,你认为最方便的方法是什么呢?因为,方便更新和使用在Lua方面的东西,所以mods可以很容易地写出来。项目加载全部是在启动时完成的,所以如果不是一种超快的方法(比如,它不会延迟操作,只是启动时间),这并不重要。
哦,我正在使用Lua5.1,但不反对使用5.2,如果它使我的任务变得更容易。如果可能,也不反对以编程方式更新列表。
发布于 2012-07-23 16:22:51
你忘了:
实际上,我通常会将此脚本放入可执行文件本身或可执行文件加载的特殊文件中。
发布于 2012-07-23 12:29:42
我编写了一个脚本,它生成一个C头,其所有整数常量都设置为enum。另一个C文件的函数可以通过添加所有这些常量的表,或者作为预定义的数字变量在全局范围中单独添加,从而改变Lua状态。
https://stackoverflow.com/questions/11609305
复制相似问题