锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久精品视频免费观看,久久久久99精品成人片直播,久久久精品人妻一区二区三区四
http://www.shnenglu.com/wc250en007/category/17338.html鍓嶈繘鐨勮礬涓?/description>zh-cn Mon, 18 Jul 2011 14:00:33 GMT Mon, 18 Jul 2011 14:00:33 GMT 60 luaplus鑴氭湰涓嬌鐢ㄦ垚鍛樺嚱鏁?/title> http://www.shnenglu.com/wc250en007/archive/2011/07/18/151300.htmlLet me see see Let me see see Mon, 18 Jul 2011 05:27:00 GMT http://www.shnenglu.com/wc250en007/archive/2011/07/18/151300.html http://www.shnenglu.com/wc250en007/comments/151300.html http://www.shnenglu.com/wc250en007/archive/2011/07/18/151300.html#Feedback 0 http://www.shnenglu.com/wc250en007/comments/commentRss/151300.html http://www.shnenglu.com/wc250en007/services/trackbacks/151300.html 鍦ㄨ剼鏈腑浣跨敤綾葷殑鎴愬憳鍑芥暟
#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 鎵浠?瑕佹椿寰楀弬鏁扮殑鏃跺?涓嬫爣榛樿鍔? if (args[2].IsNumber()) { printf("%f\n", args[2].GetNumber()); } ]]> luaplus涓婃墜 (杞? http://www.shnenglu.com/wc250en007/archive/2011/07/18/151284.htmlLet me see see Let me see see Mon, 18 Jul 2011 02:10:00 GMT http://www.shnenglu.com/wc250en007/archive/2011/07/18/151284.html http://www.shnenglu.com/wc250en007/comments/151284.html http://www.shnenglu.com/wc250en007/archive/2011/07/18/151284.html#Feedback 0 http://www.shnenglu.com/wc250en007/comments/commentRss/151284.html http://www.shnenglu.com/wc250en007/services/trackbacks/151284.html
鐗堟潈鎵鏈?杞澆璇鋒敞鏄庡嚭澶?鍕跨敤浜庡晢涓氱敤閫?璋㈣阿!
浣滆? 澶у疂澶╁ぉ瑙?/span>
Blog: http://www.shnenglu.com/singohgod
鏈漢姘村鉤鏈夐檺,鏈夐敊璇鋒寚鍑?嬈㈣繋浜ゆ祦,鍏卞悓榪涙!
鍥藉唴鍏充簬 Lua鐨勮祫鏂欏疄鍦ㄦ槸澶皯 ,涓轟簡瀵繪壘涓涓悎閫傜殑 Lua鐨?/span>C++灝佽 ,鐪熸槸濡傚悓澶ф搗鎹為拡 .鍦ㄧ湅浜嗕紬澶氳祫鏂欏悗閿佸畾浠ヤ笅鍑犵 :LuaBind ToLua++ LuaPlus.鍦ㄩ夋嫨涓婇鏈夎鍒虹殑鍛抽亾 ,LuaBind鐨勭増鏈彿榪樻病鍒?/span>1.0,鍔犱笂緗戝弸棰囨湁寰瘝 ,鏀懼純 .ToLua++鏈潵鏈夋湅鍙嬫帹鑽?/span>,浣嗘槸鎬庝箞閮芥壘涓嶅埌涓嬭澆 ,瀹樼綉灝辨槸鎵撲笉寮 ,鏃犺禆鏀懼純 .灝卞彧鏈?/span>LuaPlus浜?/span>,鐪嬪埌涓浜涗漢鐨勮瘎浠瘋繕琛?/span>,浜庢槸鍐沖畾灝辯敤瀹冨惂 .
LuaPlus鐨勮祫鏂欏氨鏇村皯浜?/span>,榪炴庝箞閰嶇疆鎬庝箞璋冭瘯絳変粈涔堥兘娌℃湁 ,鍙湁娌愭灚澶у摜璁茶В浜嗚娉曟柟闈㈢殑涓綃囨枃绔?/span>.鍟婂摕 ,鎬庝箞鎼炲憿 ,闅鵑亾鍙堝彧鏈夌‖鐫澶寸毊涓婁簡 ?(鏌愪紵浜烘浘璇磋繃 ,浣嗗嚒鏉板嚭鐨勪簨閮芥槸紜潃澶寸毊騫插嚭鏉ユ淮 )
濂戒簡 ,璦褰掓浼?/span>,涓嬮潰璁茶鎴戠殑緇忛獙鍚?/span>:
濡備綍緙栬瘧
1. 涓嬭澆
棣栧厛鍒板畼鏂圭綉绔欎笅杞?/span>: http://www.luaplus.org/
涓嬭澆榪欎釜 : All source code: http://luaplus.org/LuaPlus51_Build1100.zip (鎴戝綋鍓嶇殑鐗堟湰 ,褰撶劧瓚婃柊瓚婂ソ )
2. 鍓ョ
瑙e紑涓嬭澆鍖?/span>,鎵撳紑 \LuaPlus51_Build1100\Src\LuaPlus 閲岄潰鏄叏閮ㄦ簮鏂囦歡 ,src涓嬫槸 lua鐨勬簮鏂囦歡 .榪欓噷鏈変釜浠や漢鐤戞儜鐨勫湴鏂?/span>,婧愭枃浠朵腑甯︿簡涓浜涗笉闇瑕佺殑鏂囦歡 ,瑕佸墧闄ゅ幓 ,鍩烘湰涓婇渶瑕佷互涓嬭繖浜涙枃浠?/span>:
1) Lua搴撴枃浠?/span>:
lapi.c
lapi.h
lauxlib.c
lauxlib.h
lbaselib.c
lcode.c
lcode.h
ldblib.c
ldebug.c
ldebug.h
ldo.c
ldo.h
ldump.c
lfunc.c
lfunc.h
lgc.c
lgc.h
linit.c
liolib.c
llex.c
llex.h
llimits.h
lmathlib.c
lmem.c
lmem.h
loadlib.c
lobject.c
lobject.h
lopcodes.c
lopcodes.h
loslib.c
lparser.c
lparser.h
lstate.c
lstate.h
lstring.c
lstring.h
lstrlib.c
ltable.c
ltable.h
ltablib.c
ltm.c
ltm.h
lua.h
luaconf.h
lualib.h
lundump.c
lundump.h
lvm.c
lvm.h
lzio.c
lzio.h
print.c
2) LuaPlus澶存枃浠?/span>:
auxiliar.h
LuaAutoBlock.h
LuaCall.h
LuaFunction.h
LuaHelper.h
LuaHelper_Object.h
LuaHelper_StackObject.h
LuaLink.h
LuaObject.h
LuaObject.inl
LuaPlus.h
LuaPlusCD.h
LuaPlusFunctions.h
LuaPlusInternal.h
LuaStackObject.h
LuaStackObject.inl
LuaStackTableIterator.h
LuaState.h
LuaState.inl
LuaStateOutFile.h
LuaTableIterator.h
luathread.h
pt.h
srm.h
3) LuaPlus婧愭枃浠?/span>
LuaCall.cpp
LuaObject.cpp
LuaPlus.cpp
LuaPlusAddons.c
LuaPlusFunctions.cpp
LuaPlus_Libs.cpp
LuaStackObject.cpp
LuaStackTableIterator.cpp
LuaState.cpp
LuaStateOutFile.cpp
LuaState_DumpObject.cpp
LuaTableIterator.cpp
lwstrlib.c
3. 寤虹珛欏圭洰
鐒跺悗浣犲氨鍙互鍦?/span>VS涓緩绔嬩竴涓柊欏圭洰 ,闈欐侀摼鎺ュ簱鐨?/span>:
鍒嗗埆鎶婇渶瑕佺殑鏂囦歡鍔犺繘鍘?/span>,涔嬪悗緙栬瘧 ,搴旇鑳介氳繃浜?/span>.
濡備綍浣跨敤
鎺ョ潃璁茶濡備綍鍦ㄤ綘鐨勫叾浠栭」鐩腑浣跨敤 LuaPlus.
1. 蹇呰鐨勯厤緗?/span>
浣犵殑欏圭洰鍙兘鏄繖鏍風殑 :
璁劇疆 GameClient鐨勪緷璧栭」鏄?/span>LuaPlusLib
#include "LuaPlus.h"
using namespace LuaPlus;
璁板緱騫茶繖浜?/span>…
2. 鍒涘緩涓涓姸鎬?/span>
LuaStateOwner state;
浠婂悗鐨勬搷浣滈兘鍥寸粫榪欎釜 state
3. 鎵ц鑴氭湰
int iret = state->DoFile("test.lua");
榪斿洖鍊間負 0琛ㄧず鎴愬姛 ,鍚﹀垯涓嶆垚鍔?/span>.
4.C++ 涓幏鍙?/span>Lua 鑴氭湰鐨勫彉閲?/span>
鍋囪浣犵殑 test.lua涓湁 :
health = 200;
閫氳繃涓嬪垪鏂規(guī)硶灝卞彲浠ュ湪 C++涓緱鍒拌繖涓暟鍊?/span>
int mytest = state->GetGlobal("health").GetInteger();
5.C++ 涓皟鐢?/span>Lua 鑴氭湰閲岀殑鍑芥暟
鍋囪浣犵殑 test.lua涓湁 :
function Add(x, y)
return x+y;
end
鍦?/span>C++涓渶瑕佸厛澹版槑榪欎釜鍑芥暟 :
LuaFunction<float> Add = state->GetGlobal("Add");
榪欐牱浣犲氨鏈変簡 Add()榪欎釜鍑芥暟 ,鐒跺悗灝卞彲浠ュ儚騫沖父涓鏍蜂嬌鐢ㄥ畠浜?/span>:
float myret = Add(3.14f,5.25f);
6.Lua 鑴氭湰涓皟鐢?/span>C++ 鍑芥暟
鍦ㄨ鍙?/span>test.lua涔嬪墠瑕佸厛鎶?/span>C++鍑芥暟娉ㄥ唽鍒?/span>Lua鐨勮繍琛屾椂鏍堥噷 ,榪欐牱鍦ㄦ墽琛?/span>lua鑴氭湰鐨勬椂鍊?/span>,鎵嶇煡閬撴墽琛屽摢涓涓嚱鏁?/span>:
棣栧厛鏈夊嚱鏁?/span>:
int LS_PrintNumber(LuaState* state)
{
LuaStack args(state);
if (args[1].IsNumber()) {
printf("%f\n", args[1].GetNumber());
}
return 0;
}
鐒跺悗娉ㄥ唽榪欎釜鍑芥暟鍒?/span>Lua:
state->GetGlobals().Register("PrintNumber", LS_PrintNumber);
榪欐牱灝辨妸 LS_PrintNumber鏄犲皠涓?/span>Lua涓彲浠ヤ嬌鐢ㄧ殑鍑芥暟 PrintNumber.
Test.lua鑴氭湰涓坊鍔犺皟鐢ㄨ鍙?/span>:
PrintNumber(30);
褰?/span>state->DoFile("test.lua"); 鎵ц鐨勬椂鍊?/span>,灝辨墽琛屼簡 C++涓殑榪欎釜鍑芥暟 .
鎬葷粨
鏈枃浠嬬粛浜?/span>LuaPlus鐨勫熀鏈厤緗柟娉曞拰浣跨敤 ,甯屾湜瀵逛綘鏈夊府鍔?/span>.涓嬩竴綃囧皢浠嬬粛涓浜涢珮綰х壒鎬?/span>,濡傛庢牱鍦?/span>VS涓皟璇?/span>LuaPlus鐨勮剼鏈?/span>,浠ュ強瀵圭被鐨勬搷浣滅瓑 .
濡傛灉榪樻湁浠諱綍鐤戦棶鍙互鐪嬬湅涓嬮潰榪欎釜綆鍗曠殑渚嬪瓙: /Files/singohgod/LuaPlus_Test.rar
]]>luaplus瀛︿範(浜? 杞?/title> http://www.shnenglu.com/wc250en007/archive/2011/07/18/151283.htmlLet me see see Let me see see Mon, 18 Jul 2011 02:08:00 GMT http://www.shnenglu.com/wc250en007/archive/2011/07/18/151283.html http://www.shnenglu.com/wc250en007/comments/151283.html http://www.shnenglu.com/wc250en007/archive/2011/07/18/151283.html#Feedback 0 http://www.shnenglu.com/wc250en007/comments/commentRss/151283.html http://www.shnenglu.com/wc250en007/services/trackbacks/151283.html
鐢╨ua鍋氶厤緗枃浠?/h1> 鍙互鐢╨ua鍋氱▼搴忕殑閰嶇疆鏂囦歡銆?br /> LuaPlus鎻愪緵浜嗚鍐檒ua鑴氭湰鏂囦歡鐨勫姛鑳斤紝鎴戜滑鍙互灝嗛厤緗俊鎭互Table鐨勫艦寮忓瓨鍌ㄥ湪lua鑴氭湰涓紝鐒跺悗鍒╃敤LuaPlus榪涜璇誨彇鍜屾洿鏀廣?br />
涓銆佸垱寤洪厤緗枃浠?/h2> 閰嶇疆鏂囦歡鍙互鐢ㄦ枃瀛楃紪杈戝櫒鍒涘緩錛屼篃鍙互鍦–++浠g爜涓垱寤恒傛垜浠厛鍦–++涓垱寤恒傚埄鐢–reateTable鍒涘緩涓涓悕涓?Window"鐨勮〃鏍鹼紝鍒╃敤LuaObject鐨凷et*鍑芥暟璁劇疆琛ㄦ牸鍐呭錛屾渶鍚庣敤DumpObject鍑芥暟淇濆瓨鍒版枃浠躲備唬鐮佸涓嬶細
void SaveTable() { LuaStateOwner state; LuaObject myTable = state -> GetGlobals().CreateTable( " Window " ); myTable.SetInteger( " width " , 640 ); myTable.SetInteger( " height " , 480 ); myTable.SetString( " title " , " My First Window " ); myTable.SetBoolean( " enabled " , true ); myTable.SetInteger( " alpha " , 128 ); myTable.SetString( " backgroundimage " , " bg.jpg " ); state -> DumpObject( " FirstWindow.lua " , " Window " , state -> GetGlobals()[ " Window " ], 0 ); } 鐩稿叧鍑芥暟鐨勮鏄庡弬瑙佹枃妗c?br />
浜屻佽鍙栭厤緗枃浠?/h2> Lua閰嶇疆鏂囦歡鐨勫姞杞藉拰鍏跺畠鑴氭湰鏂囦歡涓鏍鳳紝鍙互鐢―oFile鍑芥暟錛岀劧鍚庡彲浠ョ敤GetGlobals鍔犵儲寮曠殑褰㈠紡鑾峰彇琛ㄦ牸LuaObject瀵硅薄錛屾渶鍚庣敤[ ]璁塊棶琛ㄦ牸鐨勫厓绱犮備唬鐮佸涓嬶細
void ReadShowTable() { LuaStateOwner state; state -> DoFile( " FirstWindow.lua " ); LuaObject myTable = state -> GetGlobals()[ " Window " ]; // get Window Table's item printf( " Window Table in FirstWindow.lua: " ); printf( " width = %d " , myTable[ " width " ].GetInteger() ); printf( " height = %d " , myTable[ " height " ].GetInteger() ); printf( " title = %s " , myTable[ " title " ].GetString() ); printf( " enabled = %s " , myTable[ " enabled " ].GetBoolean() ? " true " : " false " ); printf( " alpha = %d " , myTable[ " alpha " ].GetInteger()); printf( " backgroundimage = %s " , myTable[ " backgroundimage " ].GetString() ); }
涓夈佹洿鏀歸厤緗枃浠?/h2> 璇誨彇閰嶇疆鏂囦歡鐨勮繃紼嬪拰涓婁竴鑺傜被浼鹼紝鏇存敼涓庝繚瀛樺拰絎竴鑺傜被浼箋備唬鐮佸涓嬶細
void RewriteTableContents() { LuaStateOwner state; state -> DoFile( " FirstWindow.lua " ); LuaObject myTable = state -> GetGlobals()[ " Window " ]; myTable.SetInteger( " width " , 800 ); myTable.SetInteger( " height " , 600 ); printf( " new width=%d, height=%d " ,myTable[ " width " ].GetInteger(), myTable[ " height " ].GetInteger()); state -> DumpObject( " FirstWindow.lua " , " Window " , state -> GetGlobals()[ " Window " ]); } 鍊煎緱娉ㄦ剰鐨勬槸錛屾洿鏂伴厤緗枃浠舵椂錛屼笉鑳藉崟鐙洿鏂拌〃鏍肩殑鏌愪竴涓厓绱犮傛垜璇曢獙浜嗕笅錛屽嚭閿欍備篃璁告槸鎴戠殑鏂規(guī)硶涓嶅銆傛墍浠ユ垜鐜板湪涓嬈℃洿鏂版暣涓〃鏍箋?br /> 涓嬮潰鏄痬ain鍑芥暟錛?br />
int _tmain( int argc, _TCHAR * argv[]) { printf( " now create table and save in FirstWindow.lua: " ); SaveTable(); printf( " now read table from FirstWindow.lua: " ); ReadShowTable(); printf( " now retrieve the table, change the "width" and "height" value, then save: " ); RewriteTableContents(); printf( " now, re-read from FirstWindow.lua: " ); ReadShowTable(); return 0 ; } 宸ョ▼鐨勮緗拰涓婁竴綃囨枃绔犱竴鏍楓?br /> F7緙栬瘧鍚嶤TRL+F5鍗沖彲鐪嬪埌榪愯緇撴灉銆?br /> 鍊煎緱娉ㄦ剰鐨勬槸錛宼able鍙互宓屽table銆傝繖鏍鋒垜浠究鍙互瀹炵幇澶嶆潅鐨勯厤緗枃浠躲?/span> ]]> luaplus瀛︿範錛堜竴錛?杞?/title> http://www.shnenglu.com/wc250en007/archive/2011/07/18/151282.htmlLet me see see Let me see see Mon, 18 Jul 2011 02:07:00 GMT http://www.shnenglu.com/wc250en007/archive/2011/07/18/151282.html http://www.shnenglu.com/wc250en007/comments/151282.html http://www.shnenglu.com/wc250en007/archive/2011/07/18/151282.html#Feedback 0 http://www.shnenglu.com/wc250en007/comments/commentRss/151282.html http://www.shnenglu.com/wc250en007/services/trackbacks/151282.html 鎯沖湪鎴戠殑欏圭洰涓嬌鐢↙ua鑴氭湰璇█銆傛渶鍒濈煡閬揕ua鏄氳繃CEGUI錛屽悗鏉ュ洜涓轟竴浜涘師鍥犱笉鎵撶畻浣跨敤CEGUI浜嗭紝鍙ソ鍗曠嫭浣跨敤Lua銆傚湪緗戜笂鐪嬪埌LuaPlus錛岃矊浼兼瘮杈冪畝鍗曘傚湪姝よ褰曞涔犺繃紼嬨?br /> 鍙互鍒拌繖閲宧ttp://luaplus.org/tiki-index.php?page=LuaPlus+Home+Page涓嬭澆LuaPlus鐨剋in32浜岃繘鍒舵枃浠跺拰婧愮爜鍖呫備粠婧愮爜鍖呮彁鍙栧ご鏂囦歡錛屼粠浜岃繘鍒跺寘鎻愬彇DLL鏂囦歡銆?br /> LuaPlus瀵筁ua鍋氫簡淇敼鍜屽皝瑁咃紝浣垮緱Lua鍜孋++鐨勪氦浜掓洿涓虹畝鍗曘傚彲浠ヤ粠涓婇潰鐨勯摼鎺ユ壘鍒板畠鐨勪粙緇嶃?br /> 鍏堢畝鍗曠殑鍋氫袱涓祴璇曪細錛?錛変粠C++涓皟鐢↙ua鑴氭湰涓殑鍑芥暟錛涳紙2錛変粠Lua鑴氭湰涓皟鐢–++閲岀殑鍑芥暟銆?br />
涓銆佸伐紼嬮厤緗?/h2> VC7.1涓柊寤簑in32鎺у埗鍙板伐紼婽estLuaPlusLib銆?br /> 瑙e喅鏂規(guī)瑙嗗浘涓彸閿偣鍑籘estLuaPlusLib錛岄夊睘鎬э紱閰嶇疆緇勫悎妗嗛?#8220;鎵鏈夐厤緗?#8221;錛涗緷嬈$偣鍑?#8220;閰嶇疆灞炴?#8221;銆?#8220;C/C++”銆?#8220;甯歌”錛屽湪闄勫姞鍖呭惈鐩綍閲屾坊鍔犳簮鐮佽В鍘嬪悗鎵鍦ㄧ殑璺緞錛堟垜鐨勶細E:/sources/LuaPlus/LuaPlus51_Build1100/Src/LuaPlus錛夛紱渚濇鐐瑰嚮“榪炴帴鍣?#8221;銆?#8220;甯歌”錛屽湪闄勫姞搴撶洰褰曚腑娣誨姞浜岃繘鍒跺寘瑙e帇鍚庢墍鍦ㄧ殑璺緞錛堟垜鐨勶細E:/sources/LuaPlus/LuaPlus51_Build1100_Win32/Lib/win32錛夈?br /> 鍦═estLuaPlusLib.cpp涓姞鍏ュ涓嬪嚑琛屼唬鐮侊紝灝嗗ご鏂囦歡鍜屽簱鏂囦歡鍔犲叆榪涙潵銆?br />
#include " luaplus.h " #if defined(DEBUG) || defined(_DEBUG) #pragma comment(lib, "LuaPlusD_1100.lib") #else #pragma comment(lib, "LuaPlus_1100.lib") #endif using namespace LuaPlus; 宸ョ▼閰嶇疆鍩烘湰涓婂畬鎴愪簡銆?/div>
浜屻佹祴璇曠敤Lua鑴氭湰 濡備笅寤虹珛嫻嬭瘯鐢ㄧ殑Lua鑴氭湰騫朵繚瀛樺湪浣犲嵆灝嗙敓鎴愮殑鍙墽琛屾枃浠舵墍鍦ㄧ殑鐩綍涓嬨傚悓鏃墮渶瑕佹妸浜岃繘鍒跺寘涓殑LuaPlusD_1100.dll鍜孡uaPlus_1100.dll鎷瘋礉鍒拌鐩綍涓嬨?br />
health = 100 ; PrintNumber( 30 ); function Add(x, y) return x + y; end
health = 100;Lua鑴氭湰涓殑鍏ㄥ眬鍙橀噺錛屽彲浠ヨC++鏂囦歡璁塊棶銆?br /> PrintNumber(30);璇ヨ鍙ヨ皟鐢–++鏂囦歡涓殑鍑芥暟錛屾墦鍗版暟瀛楀埌鎺у埗鍙扮獥鍙c?br /> function Add(x,y)澹版槑涓涓嚱鏁幫紝C++鏂囦歡浼氭壘鍒板茍璋冪敤姝ゅ嚱鏁般?br />
涓夈丆++瀹炵幇 鍦═estLuaPlusLib.cpp涓姞鍏ヤ笅闈袱涓嚱鏁般?br />
static int PrintLSNumber(LuaState * state) { LuaStack args(state); // Verify it is a number and print it. if (args[ 1 ].IsNumber()) { printf( " %f " , args[ 1 ].GetNumber()); } // No return values. return 0 ; } void test() { // Create state LuaStateOwner state; // With this the script can access our own C++ functions: state -> GetGlobals().Register( " PrintNumber " , PrintLSNumber); // Open test file: int iret = state -> DoFile( " test.lua " ); // Get a global variable: LuaObject sObj = state -> GetGlobal( " health " ); int mytest = sObj.GetInteger(); printf( " init value in luascript:%d " , mytest); // Update the value: sObj.AssignInteger(state, 50 ); // Get value again: mytest = sObj.GetInteger(); printf( " after changed by c++:%d " , mytest); // Call a function in lua: LuaFunction < int > Add = state -> GetGlobal( " Add " ); int myret = Add( 3 , 4 ); printf( " Call add() in luascript,ret=%d " , myret); } main鍑芥暟錛?br />
int _tmain( int argc, _TCHAR * argv[]) { test(); return 0 ; }
鐜板湪鍙互緙栬瘧浜嗭紝緙栬瘧瀹屾垚涔嬪悗榪愯錛屽彲浠ュ湪鎺у埗鍙扮獥鍙d腑鐪嬪埌緇撴灉銆?br /> 闇瑕佹敞鎰忕殑鏄墽琛岃剼鏈鍦ㄦ敞鍐孋++鍑芥暟鍒癓ua妯″潡涔嬪悗榪涜銆?br /> 鍩烘湰涓婃槸鎸夌収http://gpwiki.org/index.php/Scripting_with_LuaPlus_and_Cpp鏉ュ仛鐨勶紝鍔犲叆浜嗗伐紼嬭緗儴鍒嗐傝閾炬帴鐨勪唬鐮侊紙test鍑芥暟錛変細鎶ラ敊錛堣皟鐢ㄤ簡math搴撲腑鐨刢os鍑芥暟錛屼絾鏄病鏈夎皟鐢∣penLibs()鍑芥暟錛夛紝鎴戜慨鏀逛簡涓涓嬶紝鍘繪帀浜嗗math搴撶殑寮曠敤銆?br />
鐩稿叧璧勬簮閾炬帴錛?/h3> 1>LuaPlus鐨勬枃妗o細http://www.gamedev.net/reference/programming/features/lua/ 2>LuaPlus鍒濈駭鏁欑▼錛歨ttp://wwhiz.com/LuaPlus/LuaPlus.html ]]>
久久综合九色欧美综合狠狠 |
久久精品蜜芽亚洲国产AV |
久久久久99精品成人片三人毛片 |
久久人人爽人爽人人爽av |
伊人久久大香线蕉av一区 |
久久精品嫩草影院 |
性做久久久久久免费观看 |
久久国产精品久久 |
国内精品久久国产 |
久久精品国产免费 |
亚洲综合熟女久久久30p |
久久久久无码专区亚洲av |
久久久久免费看成人影片 |
蜜臀久久99精品久久久久久
|
日本加勒比久久精品 |
性做久久久久久久 |
欧美久久天天综合香蕉伊 |
久久99国产精一区二区三区 |
久久综合亚洲色HEZYO社区 |
国内精品久久久久影院网站 |
精品熟女少妇a∨免费久久 |
久久人人爽人人爽人人片AV麻烦
|
亚洲精品综合久久 |
97精品伊人久久久大香线蕉 |
人人狠狠综合久久88成人 |
中文国产成人精品久久亚洲精品AⅤ无码精品
|
久久精品中文字幕无码绿巨人 |
久久久久亚洲av毛片大 |
国产真实乱对白精彩久久 |
精品久久一区二区 |
99久久精品国产高清一区二区 |
国产激情久久久久久熟女老人
|
亚洲va久久久噜噜噜久久狠狠 |
一本色综合久久 |
亚洲欧美日韩精品久久亚洲区
|
久久久久久久久久免免费精品 |
久久久久久狠狠丁香 |
国产一区二区三区久久精品 |
91久久精品91久久性色 |
久久夜色精品国产噜噜噜亚洲AV
|
国产精品久久久久久搜索 |