我有这个想法,我想使用 lua 来创建我的关卡,以及这些关卡中的地图。我希望能够简单而明确地操作数据并在应用商店中添加新级别作为购买。如何使用 lua 在这些地图中创建地图和关卡?lua 是否支持 OOP,所以我可以创建一个基本 Map“类”和一个基本级别“类”,还是我需要对所有内容进行硬编码?我知道愤怒的小鸟使用 lua,我可以吗?
任何方向或样品都非常感谢。谢谢。
我有这个想法,我想使用 lua 来创建我的关卡,以及这些关卡中的地图。我希望能够简单而明确地操作数据并在应用商店中添加新级别作为购买。如何使用 lua 在这些地图中创建地图和关卡?lua 是否支持 OOP,所以我可以创建一个基本 Map“类”和一个基本级别“类”,还是我需要对所有内容进行硬编码?我知道愤怒的小鸟使用 lua,我可以吗?
任何方向或样品都非常感谢。谢谢。
Lua 不直接支持类(尽管有一些库提供类功能),而是使用称为表的数据结构。表格非常通用,因为它们可以包含字符串、数字、函数和其他表格。
Lua 的一大好处是它是脚本化的,因此它可以作为文件下载并在编译的游戏运行时运行。这是存储在.lua
文件中的级别的一个可能示例:
return {
name = 'Example level',
score = 80,
map = {
height = 8,
width = 8,
data = 'sssssssssoooooossoooooossoooooossoooooossoooooossbooooesssssssss'
},
ondraw = function (self)
drawmap(self.map)
drawscore(self.score)
end
}
您可能会发现另一个有用的特性是元表。它们有点允许继承与表一起使用。您可以在此处阅读有关使用元表实现类的更多信息:http: //lua-users.org/wiki/SimpleLuaClasses