如何在C ++ / Luabridge中创建lua对象?

时间:2015-10-13 11:00:00

标签: c++ object lua instance luabridge

我有一个lua脚本,应该像游戏组件一样,如下所示:

-- Enemy.lua

Enemy = {

  health = 5,
  name = "DefaultEnemyName",

  onUpdate = function()
    health = health - 1
  end,

  healEnemy = function(amount)
    health = health + amount
    print(health)
  end

}

我希望能够创建此表/对象的新实例并将其存储在C ++中。

目前,如果我创建一个lua_State并加载脚本两次,则每个表中共享变量...

如果我用一个健康点治疗三个不同的敌人,输出看起来会像这样:

Enemy1, healEnemy(): 6
Enemy2, healEnemy(): 7
Enemy3, healEnemy(): 8

所以我的问题是,如何在luabridge中创建一个这种类的实例,而不会创建大量的lua_States(这显然是一件坏事)?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我认为你需要使用lua类。查看此链接Lua Object Creation Tutorial