[Logo] LUA Форум
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Messages posted by: Jumangee
Forum Index » Profile for Jumangee » Messages posted by Jumangee
Author Message
Ок, спасибо, вроде стало понятнее, буду ковырять
Спасибо! Очень наглядно, но можно ли увидеть побольше, например хочется увидеть описание класса CAstro?
Не совсем понятно как будет выполнено присваивание типов на этапе выполнения, если например есть CDate и CInt и CString (так?), как это всё потом вместе уживется?

Вы простите за глупые вопросы, просто пытаюсь понять как можно больше прежде чем нагородить в программе непонятно что
Переменые глобальны и вызов функции для обновления

Это как я описал в первом посте, так? Но разве это можно назвать "удобным" и "гибким" решением?
Я не говорил что это проблема, мне просто интересно как это делают другие?

Вот с метатаблицей это интересное решение, но опять же создает некие дополнительные условия для луа-программиста, а это нежелательно.
Вообще, мысль интересная Но это вариант с выгрузкой данных в луа (установкой значений на старте, и получением при завершении)
Опять же, тогда вопрос встает - как лучше обеспечить доступ к таким переменным из c++?

Смысл такой, есть некий набор "переменных", к которым будут иметь доступ скрипты, а эти переменные потом будут обрабатываться c++ кодом, например - для "визуализации" этих параметров (как пример, - параметры персонажа игры - отображаются где-то в каком-то виде )

Опять же, надо ведь продумать как из луа "указать" что именно этот параметр - отображать, причем отображать так-то, что этот - текст, а этот - число ну или наподобии

Пришло в голову такое решение:
луа:

x = value("x", 5);

где value это с-функция, которая создает переменную x в списке параметров (которые потом и инициализирует её 5ой. Но потом и работать с этими параметрами придется функциями типа set_as_visible("x", "int")

В общем, просто не уверен что всё это будет гибко и удобно
Вгрызаясь в доки про луа, не смог понять как же сделать сабж

Можно конечно перед запуском скрипта обновлять значения в луа, а после луа обновлять их оттуда, но решение какое-то кривоватое... или так тоже кто-то использует? Хочется получить "раасширяемое" решение.

Например, как я понял, c-closure - делается для того, чтобы, например после изменения переменной(ых) в скрипте, вызвать одну c-функцию и она будет иметь доступ к свои переменным, типа этого (lua):
x = 1
y = 2
update_xy() // c-функция читает x и y и обновляет состояние программы

но это не совсем то что мне нужно

Насколько я понимаю, для того чтобы мне сделать что мне нужно, необходимо в луа запихнуть свой класс, у которого как-то перегрузить оператор присваивания (=), тогда возможно получится что-то навроде этого:

x = cppValue("x"); // здесь c-конструктор сопоствляет Lua-Cpp значения
x = 10; // если возможно, вызывается "set"-метод класса
y = cppValue("y");
y = 15;

Такое было бы наверное самым оптимальным решением.
Кто как делает?
 
Forum Index » Profile for Jumangee » Messages posted by Jumangee
Go to:   
Powered by JForum 2.1.9 © JForum Team