我想在 Lua 中创建 FSM(使用 Luabind)。假设我有 GameObject,在 lua 文件中我写了这个:
State1 = {}
State1["Start"] = function()
end
State1["Update"] = function()
if (blah blah blah) then
ChangeState(State2);
end
end
State1["End"] = function()
end
... then states 2, 3 and etc...
gameObject.fsm = CreateFSMComponent(name, State1);
问题是 - 如何创建具有不同属性的相同对象行为?就像.. 如果我想创建 2 个具有相同行为的巡逻单位,但每个巡逻单位都有不同的起始位置。但是在 Lua 中——当我定义外部函数来描述其中的这些状态时——它不起作用。