设为首页 加入收藏

TOP

如何用C++做游戏(四)
2018-06-14 09:13:37 】 浏览:792
Tags:何用 游戏
type(m_pState, pVoid, pParam->GetType());这句话,你可能有些看不懂,没关系,我会在下一讲详细的解释Lua++的一些API的用法。

现在大概和你说 一下,这句话的意思就是,把一个C++对象传输给Lua函数。 再看看,下面一个。

bool CLuaFn:: PopLuaData(lua_State* pState, _ParamData* pParam, int nIndex) 
{ 
        if(pParam == NULL) 
        { 
                return false; 
        }

        if(pParam->CompareType(“string”)) 
        { 
                if (lua_isstring(m_pState, nIndex) == 1) 
                { 
                        const char* pData = (const char*)lua_tostring(m_pState, nIndex); 
                        pParam->SetData((void* )pData, (int)strlen(pData)); 
                } 
                return true; 
        }

        if(pParam->CompareType(“int”)) 
        { 
                if (lua_isnumber(m_pState, nIndex) == 1) 
                { 
                        int nData = (int)lua_tonumber(m_pState, nIndex); 
                        pParam->SetData(&nData, sizeof(int)); 
                } 
                return true; 
        } 
        else 
        { 
                pParam->SetData(tolua_tousertype(m_pState, nIndex, NULL), -1); 
                return true; 
        } 
}

弹出一个参数并赋值。pParam->SetData(tolua_tousertype(m_pState, nIndex, NULL), -1);这句话同样,我在下一讲中详细介绍。

好了,我们又进了一步,我们可以用这个函数绑定任意一个Lua函数格式。而代码不用多写,懒蛋的目的达到了。

这一讲主要是介绍了一些基本知识,或许有点多余,但是我觉得是必要的,在下一讲中,我讲开始详细介绍如何绑定一个C++对象给Lua,并让Lua对其修改。然后返回结果。

首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++设计模式之应用(型别对型别的.. 下一篇用c++实现的八大排序算法

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目