| Автор |
Сообщение |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 04/05/2008 09:05:50
|
Strijar
ГУРУ
Зарегистрирован: 08/02/2008 21:28:09
Сообщений: 223
От: СПб
Оффлайн
|
DarkKnight wrote:зато мне не понятно))тема схожая,поэтому решил написать тут,а не заводить новую.
вот тут сказали что мгновенное изменение данных можно сделать через __index.как именно это сделать?вот для наглядности скрипт:
При моем подходе получается так:
Как - смотри по ссылке которую давал выше (про пользовательский интерфейс)
Но это немного не то, тут __index не нужен. Он был бы нужен например если:
Это сообщение было редактировано 2 раз. Последнее обновление произошло в 04/05/2008 09:08:41
|
Лучше быть белым волком, чем серым человеком. |
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 04/05/2008 09:18:09
|
Strijar
ГУРУ
Зарегистрирован: 08/02/2008 21:28:09
Сообщений: 223
От: СПб
Оффлайн
|
DarkKnight wrote:это потмоучто переменная cube обновляется только после выполнения скрипта.как сделать обновление переменной немедленно?
Именно переменной? - видимо никак. Но если она в таблице:
objects.cube = NewCube(...)
То можно словить изменения в таблице objects. Но твой случай какой-то вообще не понятный - все изменения вступают в силу сразу. Другое дело что код на Си не всегда может получить их, потому как выполнение не параллельное. Вот потому то и надо налаживать взоимодействие между Lua машиной и кодом на Си
|
Лучше быть белым волком, чем серым человеком. |
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 05/05/2008 00:47:27
|
smz
ГУРУ
Зарегистрирован: 14/03/2008 13:23:00
Сообщений: 245
Оффлайн
|
DarkKnight wrote:было бы еще неплохо узнавать cube == NULL ?и тогда создавать объект,иначе не создавать,потмоучто этот скрипт в цикле работает.но кроме как отдельными функциями,которые после выполнения скрипта работают:..это сделать можно?т.е. в теле функции создания куба.буду оч признателен за помощь)
А что если:
|
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 05/05/2008 17:29:59
|
DarkKnight
Новичок
Зарегистрирован: 25/04/2008 19:38:41
Сообщений: 26
Оффлайн
|
это прокатит.но это не то)темболее мне ведь надо чтобы изменения сразу вступали в силу.а эта проверка выполнится уже после выполения всего скрипта,на сколкьо я понимаю.мне надо проверять это в функции CreateBox().и я наверно не правильно выразился.поэтому вы меня не правильно поняли.после выполнения каждой команды в скрипте изменения происходят немедленно,и куб собственно создается тоже(видимо).Проблема в том,что в скрипте самом переменная cube остается == 0,из-за этого все последующие команды не работают.
В общем вот весь код.смотреть файлы LUA_export.h и TV3DScene.cpp(с комента Run LUA до комента Input)
| Имя файла |
TV3D_LUA.rar |
Загрузить
|
| Описание |
sources |
| Размер файла |
2662 Kbytes
|
| Скачано: |
9 раз |
Это сообщение было редактировано 3 раз. Последнее обновление произошло в 05/05/2008 17:39:33
|
Нет документации на русском?Напиши сам! (с)Сайт "Lua в России" (lua.ru) |
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 05/05/2008 19:24:38
|
smz
ГУРУ
Зарегистрирован: 14/03/2008 13:23:00
Сообщений: 245
Оффлайн
|
Скачал, посмотрел... (комментировать качество кода не буду).
Что касается конкретно "проблемы" (в кавычках, потому что проблемы-то никакой нет):
Проблема в том,что в скрипте самом переменная cube остается == 0,из-за этого все последующие команды не работают.
Переменная остаётся 0, потому что ф-ция l_CreateBox вернула в Lua число 0. Так в чём проблема для скрипта проверить возвращаемое значение, прежде, чем вызывать последующие функции?
А вот почему l_CreateBox возвращает в Lua 0 -- разбирайтесь.
|
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 05/05/2008 21:17:08
|
DarkKnight
Новичок
Зарегистрирован: 25/04/2008 19:38:41
Сообщений: 26
Оффлайн
|
приверить значение cube не проблема.качество кода там совсем плохое.я это знаю.этот проект я полгода назад писал и на скорую руку.
спс,хз почему даже return out; возвращает что-то != адрессу объекта в памяти,буду разбираться...
Это сообщение было редактировано 2 раз. Последнее обновление произошло в 05/05/2008 21:31:07
|
Нет документации на русском?Напиши сам! (с)Сайт "Lua в России" (lua.ru) |
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 05/05/2008 21:35:52
|
smz
ГУРУ
Зарегистрирован: 14/03/2008 13:23:00
Сообщений: 245
Оффлайн
|
DarkKnight wrote:только почему она возвращает 0 если написать return out; воистину хз.
Боже упаси! Ф-ция l_CreateBox в порядке, а вот ф-ция CreateBox (в C++) - не совсем.
И вообще, методом тыка такие вещи не делаются. Учите Lua. Учите C++.
|
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 05/05/2008 22:19:55
|
DarkKnight
Новичок
Зарегистрирован: 25/04/2008 19:38:41
Сообщений: 26
Оффлайн
|
smz wrote:
А вот почему l_CreateBox возвращает в Lua 0 -- разбирайтесь.
smz wrote:
Боже упаси! Ф-ция l_CreateBox в порядке, а вот ф-ция CreateBox (в C++) - не совсем.
да,да,сорри)исправлю
Это сообщение было редактировано 3 раз. Последнее обновление произошло в 05/05/2008 22:30:49
|
Нет документации на русском?Напиши сам! (с)Сайт "Lua в России" (lua.ru) |
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 05/05/2008 22:28:05
|
smz
ГУРУ
Зарегистрирован: 14/03/2008 13:23:00
Сообщений: 245
Оффлайн
|
наговаривать не нужно.
То, что я посоветовал вам учить Lua и C++, не было критикой, - это был однозначный вывод после просмотра вашего кода. Ничего обидного в этом совете нет, "Москва не сразу строилась".
|
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 05/05/2008 22:31:08
|
DarkKnight
Новичок
Зарегистрирован: 25/04/2008 19:38:41
Сообщений: 26
Оффлайн
|
исправлю))у меня впринципе было правильно в лоадмеш,прсото хотел сделать присваиванием.
Это сообщение было редактировано 1 раз. Последнее обновление произошло в 05/05/2008 22:34:24
|
Нет документации на русском?Напиши сам! (с)Сайт "Lua в России" (lua.ru) |
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 04/06/2008 20:50:38
|
xVekx
Новичок
Зарегистрирован: 04/06/2008 20:37:52
Сообщений: 6
Оффлайн
|
народ вопросик вот на с++ есть функция lua 4.0.1 в Lua
Это сообщение было редактировано 1 раз. Последнее обновление произошло в 05/06/2008 01:56:56
|
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 04/06/2008 22:14:31
|
smz
ГУРУ
Зарегистрирован: 14/03/2008 13:23:00
Сообщений: 245
Оффлайн
|
Это сообщение было редактировано 1 раз. Последнее обновление произошло в 04/06/2008 22:29:31
|
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 04/06/2008 23:05:32
|
xVekx
Новичок
Зарегистрирован: 04/06/2008 20:37:52
Сообщений: 6
Оффлайн
|
спасибо!!!!!!! а вот теперь такой вопрос в *.Lua в с++ функция
Это сообщение было редактировано 1 раз. Последнее обновление произошло в 05/06/2008 01:57:28
|
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 04/06/2008 23:43:55
|
smz
ГУРУ
Зарегистрирован: 14/03/2008 13:23:00
Сообщений: 245
Оффлайн
|
xVekx wrote:
int connect(lua_State* luaVM)
{
//надо поймать значение string и int
}
А вообще-то положено сначала читать справочник, в котором всё это описано.
Это сообщение было редактировано 1 раз. Последнее обновление произошло в 04/06/2008 23:45:54
|
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 05/06/2008 01:58:58
|
B4rr4cuda
Постоянный посетитель
![[Avatar]](/forum/images/avatar/a87ff679a2f3e71d9181a67b7542122c.png)
Зарегистрирован: 14/01/2008 14:58:13
Сообщений: 48
Оффлайн
|
А вообще-то положено сначала читать справочник, в котором всё это описано.
...И пользоваться тегом [code] , при написании сообщения содержащего код.
Это сообщение было редактировано 1 раз. Последнее обновление произошло в 05/06/2008 02:01:12
|
|
|
 |
|
|