青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 132  文章 - 51  trackbacks - 0
<2011年7月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

常用鏈接

留言簿(7)

隨筆分類

隨筆檔案

文章分類

文章檔案

cocos2d-x

OGRE

OPenGL

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

在腳本中使用類的成員函數
#include "luaplus.h"
using namespace LuaPlus;

template
< class T >
class LuaExport
{
public:
    LuaExport(
const char* pszName, LuaPlus::LuaState* pState = 0)
    

        
//TDAssert(s_pMe == 0);
        s_pMe = static_cast< T* >(this);

        LuaPlus::LuaState
* theState = pState; //? pState : CScriptSystem::_GetLuaState();

        s_pMetaTable 
= new LuaPlus::LuaObject;
        
*s_pMetaTable = theState->GetGlobals().CreateTable(pszName);
        s_pMetaTable
->SetObject("__index"*s_pMetaTable);

        LuaObject obj 
= theState->BoxPointer(s_pMe);
        obj.SetMetaTable(
*s_pMetaTable);
        theState
->GetGlobals().SetObject(pszName, obj);
    }


    
virtual ~LuaExport()
    
{
        delete s_pMetaTable; s_pMetaTable 
= 0;
        s_pMe 
= 0;
    }


    template 
<class Callee>
    
void RegisterFunction(const char* pszFuncName, int (Callee::*func)(LuaPlus::LuaState*))
    
{
        s_pMetaTable
->RegisterObjectFunctor(pszFuncName, func);
    }


    
//取得自己
    static T* GetMe(void)  return s_pMe; }

protected:
    
static T*                    s_pMe;            //自身實例,全局變量
    static LuaPlus::LuaObject*    s_pMetaTable;    //MetaTable

private:
    
// unimplemented constructors / assignment
    LuaExport(const LuaExport& obj);
    LuaExport
& operator=(const LuaExport& obj);
}
;

extern LuaPlus::LuaState* GetLuaState();

// 測試main.cpp

class player : public LuaExport< player >
{
public:
    player():
      LuaExport
< player >"pp", GetLuaState() )
      
{

      }


      
int LS_PrintNumber(LuaState* state)
      
{
          LuaStack args(state);

          
if (args[2].IsNumber()) {
              printf(
"%f\n", args[2].GetNumber());
          }

          
else if ( args[2].IsString() )
          
{
              printf(
"%s\n", args[2].GetString() );
          }

          
return 0;
      }

      
int UI_SetTipText( lua_State *state )
      
{
          LuaStack args(state);
          
if ( args[2].IsString() )
          
{
              
const char *szData = args[2].GetString();//lua_tostring(state, 1);
              if( szData )
              
{
                  printf(
"%s\n", szData );
              }

          }


          
return 0;
      }


}
;


player
*    LuaExport< player >::s_pMe = 0;
LuaPlus::LuaObject
* LuaExport< player >::s_pMetaTable = 0;

int _tmain(int argc, _TCHAR* argv[])
{
    player
* pPlayer = new player();
    pPlayer
->RegisterFunction( "PrintNumber"&player::LS_PrintNumber );
    pPlayer
->RegisterFunction( "SetTips"&player::LS_PrintNumber );
    
// Register your functions.

    
int nRet = GetLuaState()->DoFile( "main.lua" );
    
if (  nRet )
    
{
        printf(
"錯誤信息: %s", GetLuaState()->StackTop().GetString());
    }

    getchar();
    
return 0;
}

// main.lua
   
pp.PrintNumber(1000)


1.需要注意的是,類的成員函數中的參數  默認第一個為this
所以 要活得參數的時候 下標默認加1
 if (args[2].IsNumber())
{
     printf("%f\n", args[2].GetNumber());
 }



posted on 2011-07-18 13:27 風輕云淡 閱讀(1279) 評論(0)  編輯 收藏 引用 所屬分類: LuaPlus
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩精品免费看| 亚洲一区免费在线观看| 久久亚洲综合色一区二区三区| 亚洲激情啪啪| 久久夜色精品国产噜噜av| 亚洲女ⅴideoshd黑人| 亚洲区一区二| 亚洲毛片在线观看.| 亚洲美女少妇无套啪啪呻吟| 亚洲伦理网站| 亚洲欧美日韩精品综合在线观看| 欧美亚洲三级| 欧美高潮视频| 99在线精品视频在线观看| 亚洲综合社区| 美日韩在线观看| 欧美日韩午夜精品| 国产欧美日韩一区| 亚洲国产经典视频| 在线中文字幕一区| 久久精品亚洲乱码伦伦中文| 奶水喷射视频一区| 日韩视频中午一区| 午夜伦欧美伦电影理论片| 毛片av中文字幕一区二区| 国产精品成人一区二区网站软件| 国内精品模特av私拍在线观看| 亚洲欧洲精品成人久久奇米网| 亚洲午夜日本在线观看| 久久视频一区二区| 99国产精品99久久久久久| 欧美日韩三级一区二区| 性欧美大战久久久久久久免费观看| 免费在线日韩av| 一个色综合av| 久久综合激情| 欧美日韩国产高清| 好吊日精品视频| 宅男在线国产精品| 久久日韩粉嫩一区二区三区| 亚洲欧洲在线视频| 久久综合九色欧美综合狠狠| 国产美女精品| 亚洲在线日韩| 亚洲免费成人| 欧美搞黄网站| 在线国产日韩| 久久久精品久久久久| 一区二区激情| 欧美三级免费| 一本色道久久综合亚洲精品婷婷 | 亚洲区欧美区| 男女激情久久| 久久艳片www.17c.com| 好看不卡的中文字幕| 午夜精品久久一牛影视| 欧美大片免费观看在线观看网站推荐| 亚洲性视频网站| 国产精品成人va在线观看| 一区二区欧美日韩| 欧美国产视频一区二区| 久久激情五月激情| 国产亚洲精品aa午夜观看| 亚洲欧美中文日韩v在线观看| 亚洲国产一区二区三区a毛片| 美女露胸一区二区三区| 亚洲国产一区二区a毛片| 欧美xxx成人| 久久亚洲免费| 亚洲精品一区二区三区福利| 亚洲国产精品小视频| 欧美片在线观看| 亚洲一区二区三区激情| 亚洲一区二区精品视频| 国产午夜精品久久久| 久久日韩粉嫩一区二区三区| 久久精品国产亚洲a| 狠狠色综合一区二区| 免费不卡在线观看| 欧美成人a视频| 亚洲午夜精品一区二区| 亚洲欧美国产精品专区久久| 国产日本欧美一区二区| 卡通动漫国产精品| 欧美1区视频| 亚洲一区尤物| 久久久久免费视频| 亚洲裸体俱乐部裸体舞表演av| 91久久在线| 国产精品久久国产愉拍| 久久久久久久久久久久久9999| 亚洲欧美一区二区原创| 久久久亚洲欧洲日产国码αv | 国产日韩1区| 久热精品在线视频| 欧美激情网站在线观看| 午夜精品久久久久久久久久久久久 | 男女精品视频| 欧美日韩18| 亚洲无人区一区| 欧美在线国产| 一区二区欧美视频| 久久天天综合| 亚洲一区二区三区三| 欧美呦呦网站| 中文久久精品| 久久久夜精品| 午夜精品久久| 欧美不卡视频一区发布| 久久精品123| 欧美精品偷拍| 久久久久成人网| 欧美日韩在线观看视频| 美女脱光内衣内裤视频久久影院| 欧美日韩免费观看一区| 久久婷婷成人综合色| 国产精品免费在线 | 裸体女人亚洲精品一区| 欧美激情综合在线| 久久亚洲一区二区三区四区| 欧美视频在线观看免费网址| 欧美激情亚洲国产| 在线观看国产日韩| 西西人体一区二区| 亚洲女人天堂成人av在线| 欧美成人免费观看| 久热爱精品视频线路一| 国产精品亚洲一区| 亚洲欧洲一区二区三区| 亚洲激情电影在线| 久久亚洲精品一区二区| 久久精选视频| 国产精品入口日韩视频大尺度| 亚洲毛片av| 91久久综合| 免费成人在线观看视频| 欧美69视频| 在线观看精品一区| 久久精品国内一区二区三区| 久久精品成人一区二区三区| 国产精品普通话对白| 亚洲午夜在线观看| 性欧美精品高清| 国产女主播一区二区三区| 亚洲视频在线一区| 亚洲精品日韩激情在线电影| 一区二区三区免费看| 久久久www成人免费无遮挡大片| 欧美一级艳片视频免费观看| 国产精品乱码妇女bbbb| 亚洲性感美女99在线| 性欧美超级视频| 国产一区久久久| 久久久午夜精品| 亚洲激情在线观看视频免费| 亚洲精选视频在线| 欧美亚韩一区| 亚洲男人影院| 美女黄色成人网| 在线看不卡av| 欧美大片免费久久精品三p| 亚洲激情第一页| 亚洲永久免费av| 国产精品专区一| 久久手机免费观看| 亚洲裸体视频| 久久久久久久高潮| 亚洲国产日韩在线一区模特| 蜜臀久久99精品久久久画质超高清| 欧美成人激情视频| 99视频一区| 国产美女精品免费电影| 久久久久免费视频| 日韩视频免费观看高清完整版| 亚洲伊人伊色伊影伊综合网| 韩国av一区| 欧美日韩免费区域视频在线观看| 亚洲一区二区黄| 欧美高清在线视频| 午夜精品视频网站| 在线观看不卡| 国产精品美女www爽爽爽| 久久久国产91| 一本色道久久综合亚洲精品婷婷 | 国产精品高清在线| 久久久99免费视频| 99伊人成综合| 久久综合狠狠| 亚洲欧美清纯在线制服| 亚洲日本欧美| 国产午夜精品在线| 欧美日韩国产成人在线免费| 久久久久9999亚洲精品| 在线视频欧美日韩| 欧美激情中文字幕在线| 欧美一区二区视频97| 一区二区日韩精品| 国内精品久久久久影院色| 国产精品高潮久久| 欧美午夜精品久久久久久超碰|