Как использовать Luabind и C ++ для создания класса управления активами? - PullRequest
0 голосов
/ 02 марта 2010

Я сделал бесчисленные попытки заставить это работать, но все, что я делаю, дает мне ошибки во время выполнения.Я пытался заставить управляющих активами управлять контентом для моего игрового движка, и я использую lua и luabind для своих сценариев.До сих пор проблем с компиляцией, связыванием классов и переменных и возвращением базовых переменных из lua не было.

Моя проблема в том, что я использую std :: vector для хранения экземпляров моих классов активов,и векторы, кажется, не ладят с luabind.Я знаю, что мне понадобится этот вектор, потому что моя программа на C ++ будет использовать его для рендеринга и других вещей

Когда я связываю свой класс менеджера и переменные (включая вектор, содержащий мои классы активов), все компилируется и работает нормально.В моем скрипте lua я могу успешно создавать новые объекты, но когда я пытаюсь получить к ним доступ, я получаю ошибку во время выполнения.

Подводя итог:

У меня есть класс, который содержитинформация об игровом объекте или информация о некоторых других данных.

У меня есть другой класс, который содержит вектор классов активов.

Когда я пытаюсь получить доступ к этому вектору, как у обычной таблицы lua, Я получаю ошибку во время выполнения.

Итак, что мне делать в C ++ и luabind, которые позволят мне изменить классы в моем классе менеджера активов?

1 Ответ

2 голосов
/ 09 марта 2010

Возможно, вам придется связать сам векторный тип с помощью некоторых соответствующих методов или попробовать Luabind's return_stl_iterator, который предусматривает итерацию (но не индексацию) над STL-совместимыми контейнерами.

Если вам нужна дополнительная помощь, код для ваших привязок и их типы будут полезны.

...