Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Нужна помощь по lua и luabridge С++

Нужна помощь по lua и luabridge С++

Поделиться
altmaxНовичокwww10 мар. 201712:17#0
Возникла проблема с классами - каким образом из скрипта lua можно вызвать метод класса?
Вот есть например код
lua_State *L = luaL_newstate();
    luaL_openlibs(L);
    getGlobalNamespace(L)
        .beginClass <class1>("Class1")
        .addFunction("SetPerem", &class1::setperem)
        .endClass();
    luaL_dofile(L, "script.lua");
    lua_pcall(L, 0, 0, 0);

Данный код объявлен в методе класса class1. Т.е. я создаю экземпляр класса, вызываю данный метод, он читает и исполняет скрипт "script.lua". В общем он это и делает. Но я ума не дам, каким образом можно вызвать эту самую функцию  setperem класса С++ как раз для того экземпляра класса, который и запускает скрипт, - чтобы я не писал в скрипте, выдаёт исключение.
С обычными функциями таких проблем не было, там всё просто вызывалось, а тут даже не соображу что делать, вчера весь день с этим бился. Есть мнение, что что-то я недообъявил - т.к. объявил я в общем-то абстрактный метод, а вызываю привязанный к конкретному экземпляру класса.
Очень хотелось бы увидеть разъяснения по данному вопросу либо пример работающего кода.
Осталась последняя надежда на этот форум, т.к. luabridge достаточно древняя неподдерживаемая библиотека, про неё уже почти везде забыли. Ну а тут про неё регулярно вспоминают )))

altmaxНовичокwww12 мар. 201713:26#1
Разобрался, там оказалось проще, чем думал.

/ Форум / Программирование игр / Игровая логика и ИИ

2001—2017 © GameDev.ru — Разработка игр