SDLmmに関数呼び出しメソッド追加
SDLmm_
// Lua側の関数を呼び出す場合は、 // PushFuncNameで関数名を積み、Push系メソッドで引数を積み、最後にCallFuncで呼び出す。 // // ex. { function foo(x,y,s) return 1 end } // ex. foo(1,2,"x") // PushFuncName( "foo" ); // PushNumber( 1 ); // PushNumber( 2 ); // PushString( "x" ); // CallFunc( 3,1 ); // // なんかスマートじゃないけど(汗 // 呼び出したいLua側の関数名を積む。 void PushFuncName( const char *name ) { lua_pushstring(m_L, name); lua_gettable(m_L, LUA_GLOBALSINDEX); } // 実際に呼び出す。 // pn : 引数の数。 rn : 戻値の数。 void CallFunc( int pn, int rn ) { lua_call(m_L, pn, rn); } // Luaスタックに引数を積む。 void PushBoolean( int b ) { lua_pushboolean (m_L, b); } void PushNumber( int n ) { lua_pushnumber (m_L, (lua_Number)n ); } void PushString( const char *s ) { lua_pushstring (m_L, s); }
Utility
Lua