使用LuaJava的EnumMap(尝试调用空值)

如标题所述,我在使用LuaJava和EnumMap时遇到了问题。我正在尝试编写一个RPG库,因此我们有一个具有一些属性和列表的Character。在下面的代码中,我只会报告重要的内容。

我有一个名为ConcreteAttribute的类,它扩展了AbstractAttribute,在其中有一个带有String和两个int的构造函数。

然后我有一个称为StatType的枚举,表示你在RPG游戏中拥有的统计数据:

我还有一个名为PlayableCharacter的类,其中包含(我只会报告重要内容):

这里还有一个Map中的“put”方法。

要创建新角色,我目前正在执行以下操作(“Eroe”扩展PlayableCharacter):

而且可以很好地工作,但我认为在具有许多ConcreteAttribute和许多Character的情况下,这不是最佳解决方案。所以我想使用Lua创建“具体”角色的实例,例如(小例子):

但我得到了这个错误:“在调用Lua API时未受保护的错误”(尝试调用空值)。问题在于最后一行,但是我对Lua真的很新,我甚至不知道Lua是否能处理EnumMap。

有在座的人可以帮我解决吗?

谢谢大家,对我的糟糕英语很抱歉^^

编辑:我编辑了代码,发现了一个错误。

点赞
用户897024
用户897024

一个枚举常量是其枚举类的公共成员,但您正在使用 : 将其访问为方法。

因此,您需要使用 attributes.Attacco_Fisico,而不是 attributes:Attacco_Fisico

2014-08-25 15:41:04