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

隨筆 - 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 風輕云淡 閱讀(1290) 評論(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>
            免费成人性网站| 久久中文精品| 99国产精品国产精品久久| 亚洲系列中文字幕| 亚洲精品视频在线播放| 性欧美精品高清| 亚洲免费在线视频| 欧美激情成人在线| 欧美韩日一区二区三区| 国产日韩综合一区二区性色av| 夜夜嗨av一区二区三区网页| 亚洲第一黄色网| 久久精品国产综合精品| 午夜一区不卡| 国产精品看片你懂得| 亚洲精品免费一二三区| 一区在线免费| 欧美在线视频播放| 性色av香蕉一区二区| 欧美午夜免费电影| 一区二区电影免费观看| 99热这里只有精品8| 欧美精品九九| 亚洲精品视频中文字幕| 亚洲国产精品成人一区二区| 久久久久久伊人| 能在线观看的日韩av| 狠狠色狠狠色综合人人| 欧美伊人久久久久久午夜久久久久| 香蕉久久夜色精品国产| 国产精品午夜春色av| 亚洲女性裸体视频| 一区二区三区在线高清| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲第一成人在线| 欧美岛国在线观看| 亚洲精品久久久久| 亚洲欧美日韩直播| 国产亚洲电影| 久久国产精品久久精品国产| 久久人体大胆视频| 亚洲三级观看| 欧美日韩午夜视频在线观看| avtt综合网| 久久久久久久精| 国产专区欧美专区| 欧美大片一区二区| 一区二区三区国产| 久久久久成人网| 亚洲精品免费在线| 国产精品成人v| 久久久精品国产一区二区三区| 欧美激情亚洲视频| 亚洲免费在线视频一区 二区| 国产午夜一区二区三区| 久久综合九色综合欧美狠狠| 亚洲精品久久嫩草网站秘色 | 一区二区三区|亚洲午夜| 欧美日韩hd| 欧美一区二区三区喷汁尤物| 欧美二区视频| 性欧美xxxx视频在线观看| 国内精品久久久久影院优| 欧美韩日一区| 欧美在线观看日本一区| 亚洲国产精品日韩| 欧美一区二区三区婷婷月色| 亚洲国产精品精华液网站| 欧美视频在线一区二区三区| 欧美影院视频| 一区二区三区四区国产| 老司机免费视频一区二区| 99天天综合性| 伊人成年综合电影网| 国产精品扒开腿做爽爽爽软件| 欧美在现视频| 一区二区三区波多野结衣在线观看| 免费h精品视频在线播放| 亚洲一区二区三| 亚洲欧洲一区二区三区在线观看 | 亚洲欧美日韩综合一区| 亚洲福利视频三区| 国产日韩1区| 国产精品h在线观看| 免费成人av在线看| 久久er精品视频| 亚洲视屏在线播放| 999在线观看精品免费不卡网站| 免费看亚洲片| 老色鬼久久亚洲一区二区| 午夜久久tv| 亚洲欧美清纯在线制服| 亚洲毛片在线看| 91久久久亚洲精品| 影音先锋亚洲视频| 韩国一区电影| 国产日产欧美一区| 国产麻豆综合| 国产农村妇女精品一二区| 欧美日韩一区高清| 欧美日韩午夜激情| 欧美日韩ab| 欧美日韩一区精品| 欧美三区在线观看| 国产精品xnxxcom| 欧美日韩另类视频| 欧美日韩日本视频| 欧美日韩亚洲三区| 欧美午夜宅男影院| 国产精品v片在线观看不卡| 欧美日韩视频在线一区二区观看视频| 欧美激情一二区| 欧美精品福利在线| 欧美日韩精品欧美日韩精品 | 欧美激情乱人伦| 欧美黄色一级视频| 亚洲人成在线免费观看| 亚洲国产一区二区三区高清| 亚洲国产天堂久久综合网| 最近看过的日韩成人| 亚洲精品韩国| 亚洲一区高清| 欧美伊人久久久久久午夜久久久久| 欧美一级大片在线观看| 久久精品视频在线| 欧美成人网在线| 欧美日韩亚洲综合在线| 国产精品免费观看在线| 国产亚洲精品福利| 亚洲风情亚aⅴ在线发布| 亚洲人成人一区二区在线观看| 一区二区黄色| 欧美中文在线字幕| 久久综合色影院| 亚洲欧洲日韩综合二区| 亚洲午夜精品| 久久夜色精品| 欧美日韩中文字幕在线视频| 国产精品影院在线观看| 一区二区三区无毛| 99re66热这里只有精品4| 午夜国产一区| 欧美国产精品专区| 一区二区三区欧美视频| 性欧美1819性猛交| 欧美大片在线影院| 国产精品永久免费视频| 亚洲国产三级| 亚洲欧洲av一区二区三区久久| 久久久人人人| 亚洲美女中出| 久久激情五月激情| 欧美日韩日本国产亚洲在线| 国产欧美日韩精品专区| 亚洲人体1000| 久久精品毛片| 一区二区三区精品视频| 久久久精品久久久久| 国产精品ⅴa在线观看h| 在线精品视频一区二区三四| 亚洲网友自拍| 亚洲大片在线观看| 欧美一区二区三区免费观看| 欧美日本中文字幕| 亚洲高清一区二| 欧美在线3区| 中文久久精品| 欧美二区视频| 国产亚洲一区二区三区在线播放| 一本大道久久a久久综合婷婷 | 亚洲免费在线观看视频| 男人的天堂成人在线| 国内自拍亚洲| 久久精品夜夜夜夜久久| 99riav国产精品| 欧美激情精品久久久久久| 狠狠色狠狠色综合系列| 先锋影院在线亚洲| 亚洲精品一二三区| 欧美高清一区| 亚洲国产成人porn| 男女精品视频| 久久久久久精| 狠狠网亚洲精品| 久久久久这里只有精品| 亚洲欧美另类久久久精品2019| 欧美视频在线观看免费| 一本久久青青| 亚洲蜜桃精久久久久久久| 欧美精品免费看| 亚洲美女在线观看| 亚洲国产精品毛片| 欧美成人精品在线播放| 亚洲国产欧美一区二区三区久久| 美女视频黄a大片欧美| 久久久久久国产精品mv| 在线观看国产欧美| 欧美777四色影视在线| 久久人人爽人人爽| 亚洲全黄一级网站|