何时应该使用lua脚本,何时不应该使用lua脚本

时间:2015-07-01 08:02:24

标签: c++ lua

所以最近,我在我的C ++引擎中实现了lua脚本,并且我为几乎所有的类(Window,InputHandler,Mesh,Shader等等)创建了一个lua包装器。但是现在我正在考虑它,将所有C ++类包装到lua类中是否很好?我不应该使用lua脚本来处理更具体的事情,并编写像C ++中的窗口管理这样的代码吗?这是一个lua样本:

local input = alpha.InputHandler()
local window = alpha.Window(100, 100, 1000, 900, "Hello Gangnam Style !", false, false)

function main()

    repeat
        window:Clear(0.5, 0.5, 0.5, 1)
        window:SwapBuffers()
        input:Update()
    until input:CloseRequested() == true
end 

main()

1 个答案:

答案 0 :(得分:2)

这实际上取决于您的需求和背景。

你卖掉引擎了吗? 您是否希望买家访问Lua脚本或仅用于调试/原型设计?

我发现将所有内容绑定在Lua中非常方便,因为我可以快速创建新功能的原型。虽然有时候它可能是一个非常常的解决方案,但对于低级功能,我会切换回c ++。

如果您计划让最终用户使用Lua脚本,您也可以对其进行沙箱化,为用户提供白名单功能的子集。 http://lua-users.org/wiki/SandBoxes