Наткнулся на статью: http://ilovelua.narod.ru/step4.html
На её основе немного переделал работу с таблицами. Создал глобальный map:
std::map<std::wstring,float>FloatMap;
Далее, используя функцию toLua, описанную в статье, я передают map в Lua в виде таблицы:
int l_SpriteGetActualPos(lua_State* L)
{
fromLua(L,1,String); // Получаю имя спрайта в массиве и записываю его в переменную String
FloatMap.clear(); // очищаю map от данных
FloatMap[L"X"] = Sprites[String].TempPos.x;
FloatMap[L"Y"] = Sprites[String].TempPos.y;
toLua(L,FloatMap);
return 1;
} Как видите, размер функции существенно уменьшился, данный метод существенно удобнее предыдущего.
Комментариев нет:
Отправить комментарий