Описание тега luabridge

LuaBridge - это легкая, свободная от зависимостей библиотека для сопоставления данных, функций и классов между C++ и Lua.
1 ответ

Реализуете шаблон наблюдателя C++ -to-lua?

У меня есть шаблон наблюдателя (или "слушателя"), реализованный в моем коде как таковой: struct EntityListener { public: virtual void entityModified(Entity& e) = 0; }; class Entity { public: Entity(); void setListener(EntityListener* listener); …
02 дек '14 в 12:12
1 ответ

Ошибка сегментации при рисовании объекта sf::Text в Lua

Я выставил множество классов SFML Lua с LuaBridge, и я протестировал большинство классов, и они отлично работают (sf::RectangleShape, sf::Texture и т.д.) но у меня проблемы с sf::Font а также sf::Text, Во-первых, мой код C++, чтобы выставить sf::Fon…
25 июл '15 в 17:42
1 ответ

Luabridge: возвращение управляемого объекта времени жизни C++

Этот разрез работает для основных типов: int CreateBasicObject(lua_State *L) { int ret0; lua_pushinteger(L, ret0); return 1; } и в Луа это выглядит так: local NewObject=CreateBasicObject() Как бы я мог вернуть классы вместо целых? push(L,&MyObje…
25 апр '13 в 05:24
0 ответов

Выставление правильных фабричных классов Луе

Поэтому я пишу фабричную систему для создания объектов и использую lua для их вызова. однако я изо всех сил пытаюсь выяснить, как выставить их Луа, используя luaBridge. У меня есть шаблон фабрики: template <class T, class Id> { T* create(Id na…
09 апр '18 в 02:17
1 ответ

Как зарегистрировать шаблонную функцию в LuaBridge?

Я новичок в Lua и LuaBridge и пытаюсь выяснить, можно ли зарегистрировать шаблонную функцию? Я посмотрел в Интернете и через руководство LuaBridge безрезультатно. Я попытался создать указатель на базовый класс, но потом выяснил, что в Lua нет способ…
27 апр '17 в 15:03
2 ответа

Lua ООП функция не вызывается?

Я использую Lua и LuaBridge с Allegro 5. Я решил портировать все графические объекты на Lua, но у меня возникают некоторые проблемы: Класс персонажа, который вызывается один раз Character = {sprite; AI} function Character:new() o = o or {} -- works!…
23 ноя '12 в 11:45
1 ответ

Как зарегистрировать два класса, унаследованных от одного и того же класса, используя LuaBridge?

Я пытаюсь зарегистрировать два класса, которые наследуются от одного и того же класса, используя LuaBridge, но не удалось. Как я могу зарегистрировать три класса ниже? класс А { общественности: int x; }; класс B1: общедоступный A { общественности: i…
17 мар '14 в 05:07
1 ответ

Luabridge: повреждение кучи (_CrtIsValidHeapPointer) при удалении

Редактировать № 3: Мой двигатель настроен следующим образом: struct Engine { GetEngine()....//Singleton; std::vector<std::unique_ptr<DisplayObject>> DisplayObjects; }; Затем я пишу несколько интерфейсов lua следующим образом: struct LuaO…
26 апр '13 в 07:55
1 ответ

Luabridge "переводит" код C++

Можно ли "перевести" код C++ с помощью Luabridge без изменений в классах и функциях C++ с использованием Luabridge? Допустим, у меня есть готовая программа C++ для моделирования объектов, и теперь я хочу построить программу (интерфейс) на Lua, котор…
15 фев '18 в 14:56
1 ответ

Невозможно изменить объекты, переданные в lua

Рассмотрим следующий пример использования LuaBridge для передачи объектов в скрипт lua: class Test { public: double d; Test(double t): d(t) {}; }; Test t1(10); auto lua_state = luaL_newstate(); luaL_openlibs(lua_state); luabridge::getGlobalNamespace…
24 сен '13 в 20:49
1 ответ

Luabridge слабая ссылка на данные LuaRef

Рассмотрим следующий пример: function Process() local Container=NewContainer() Container:On(EventType.Add,function() Container:DoSomething() end) -- Does not Garbage Collect end В Луабридже я храню function() как LuaRef который продлевает срок служб…
27 май '13 в 16:49
1 ответ

Как создать объект lua в C++/Luabridge?

У меня есть скрипт lua, который должен действовать как игровой компонент, например так: -- Enemy.lua Enemy = { health = 5, name = "DefaultEnemyName", onUpdate = function() health = health - 1 end, healEnemy = function(amount) health = health + amoun…
13 окт '15 в 10:59
1 ответ

Переменные аргументы в лямбде как указатель на функцию

Я хочу скопировать функцию из одного Lua_State в другой, используя luabridge. Luabridge предоставляет функцию под названием addFunction(const char * name,FP fp) и функция называется getGlobal(lua_State* L,const char*) который возвращает объект типа …
22 май '16 в 09:00
1 ответ

Вызвать функцию Lua из C++ условно

Я использую Lua для написания скриптов и встраивания их в C++. Я использую LuaBridge в этом процессе. В моем скрипте Lua у меня есть некоторые переменные, которые нужно сначала получить для использования в C++, кроме того, у меня есть очень простая …
13 ноя '15 в 16:01
0 ответов

C2664 "Невозможно преобразовать из const в &" при попытке представить классы Lua

Я пытаюсь выставить два класса Lua, используя LuaBridge. Эти классы Sprite а также Texture это выглядит примерно так: class Texture { public: Texture(const std::string& filename); ... } class Sprite { public: Sprite(Texture& texture); ... } …
10 дек '14 в 11:09
1 ответ

Достаточно ли легко разоблачить некоторые из SFML Луа с Луабриджем?

Я понимаю, как выставлять свои собственные классы Луа, вот так: lua_State* L = luaL_newstate(); luaL_openlibs(L); getGlobalNamespace(L) .beginClass<Foo>("Foo") .addConstructor<void(*)(void)>() .addProperty(/*Property Definition*/) .addFu…
18 июл '15 в 14:48
2 ответа

Невозможно получить функцию Lua для ссылки на себя

Я пытаюсь создать простой класс с функцией-членом, который бы выводил значения некоторых членов, но я получаю ошибки, когда пытаюсь сослаться на "self": attempt to index global 'self' (a nil value) Вот скрипт, который я пытаюсь запустить: Test = {} …
03 дек '14 в 09:15
1 ответ

luabridge связывает член C++, но не меняет значение члена

У меня есть вопрос с помощью luabridge, он не может изменить значение C++, для экзамена: // файлы C++ struct Coor3D_1 { int lon; }; class ETALink{ public: ETALink() { } Coor3D_1 coor3D_1; }; код привязки ниже: luabridge::getGlobalNamespace(L) .begin…
04 мар '18 в 03:14
1 ответ

Обратные вызовы LuaBridge (передача функций lua в C++)

Как передать функции из LUA в C++ с помощью Luabridge(1.0.2) local Callback=function() print("Inside Callback function!"); end А затем передать этот обратный вызов в C++: self.Background:On("Click",Callback) "Click" - это const std::string&, но как …
21 апр '13 в 02:22
1 ответ

Как решить проблему отсутствия Lua DLL при использовании LuaBinaries и LuaBridge?

Я пытаюсь внедрить Lua в C++ (и изучать Lua), начиная с метода тренировочных колес Элиаса Далера. Я использую MSVC 14.0, LuaBinaries 5.3.2 - Выпуск 1 (в частности, lua-5.3.2_Win32_dllw4_lib.zip здесь) и LuaBridge 2.0. Я добавил следующие дополнитель…
20 май '16 в 17:07