воскресенье, 18 июля 2010 г.

Передача таблицы в Lua (способ №2)

Наткнулся на статью: 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;  
} 

Как видите, размер функции существенно уменьшился, данный метод существенно удобнее предыдущего.

Комментариев нет:

Отправить комментарий