luaに配列を返す方法でつまづいています。
いま、キーボードの状態を取得する関数 そして、luaスクリプトから、このグルー関数を呼び出して、現在のキーボードの
状態を取得できないか、試しているところですが、うまくいきません。
luaスクリプトは
-- sub[] = GetHitKeyStateAll_();
for i = 1, 256 do
if sub[i] == 1 then
-- DrawString_( 100, 120, "ON", 128,128,128 );
end
end
C/C++のグルー関数と、中身の関数を載せます。
//==================================================================
void GetHitKeyStateAll_( char *buf )
{
GetHitKeyStateAll( buf );
}
int GetHitKeyStateAll_Glue( lua_State *L )
{
// 引数を取得
// 目的の関数を実行
char buf[256];
GetHitKeyStateAll_( buf );
int i;
for( i=0; i<256; i++ )
lua_pushnumber( L, buf[i] );
// 戻り値の数(256)
return 256;
}
期待していることは、luaスクリプトで、GetHitKeyStateAll_() を呼び出したら
キーボードの状態が、配列の状態で戻り値として受け取ることです。
そして というふうに入力の状態でわけて処理できるようにしたいです。
値を複数返す方法はわかったのですが、配列を返す方法がなかなか
みつかりません。どうやったらいいのでしょうか?