如何使用Lua在Cocos2d中创建关卡和地图?

我有一个想法,想使用 Lua 来创建我的游戏关卡和地图。我希望能够简单明了地操作数据,通过在应用商店发布新的关卡来增加游戏可玩性。我可以如何利用 Lua 创建地图和关卡?Lua 是否支持面向对象编程,以便我可以创建一个基础地图“类”和基础关卡“类”,或者我需要硬编码一切?我知道愤怒的小鸟使用 Lua,所以我可以吗?

非常感谢任何指导或示例。谢谢。

点赞
用户1721424
用户1721424

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

2012-10-15 03:38:01