Наткнулся на статью: 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; }
Как видите, размер функции существенно уменьшился, данный метод существенно удобнее предыдущего.
Комментариев нет:
Отправить комментарий