0

这里是 C++ 代码,一个控制台项目

class CControl  //: public CGameObject
{
public:
    CControl(){}
    ~CControl(){}

public:
    void AddAnimation(){ cout << "CControl::AddAnimation" << endl;}
};

int  _tmain()
{
    lua_State* L = lua_open();      
    luaL_openlibs(L);               
    open(L);                        

    module(L)
    [
        class_<CControl>("CControl")
            .def(constructor<>())
            .def("AddAnimation",&CControl::AddAnimation)
    ];

    int result = luaL_dofile(L,"scripts/test.lua");
    cout << result << endl;
    return 0;
}

lua 代码在这里使用 luabind

class 'Button' (Control)
function Button:__init()
    Control:__init()
end

function Button:Create()
    self:AddAnimation()    --call, fail 
end

d = Button()
d:Create()

问:

当我在 Button:Create 中调用继承的函数 self:AddAnimation() 时。哇哇!“CControl::AddAnimation”没有打印出来!这是怎么回事?我已经检查了 2 个小时。令人沮丧!任何帮助将不胜感激

在此处输入图像描述

4

1 回答 1

0

我得到它!!如果你想成功调用 Control 构造器,你必须写这样的代码“ Control.(self)”。顺便说一下,当你想调用 memeber 函数时,你应该写“ self:AddAnimation

于 2012-07-16T15:26:50.027 回答