|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Форум движка Xtreme3D / Xtreme3D: в процессе разработки / Проект Blaze, Lua для xtreme3d. |
Страницы: 1 |
Автор | Сообщение |
gadmaker бывалый Группа: Участники Сообщений: 39 |
Добавлено: 02-05-2017 17:25 |
Версия 0.0.4 Общее описание BLAZE – Инструмент программирования основанный на скриптовом языке Lua. Основная идея программы заключается в объединении графического, звукового, физического движков для создания игр и программ. В текущей версии программы используются: xtreme3d - графический и встроенный в него физический движок. gmsquall - звуковой движок. file_dll - работа с текстовыми и бинарными файлами. IniLibGMDLL - работа с ini файлами Max WinAPI 2 - инструмент для работы с win API (создание интерфейса windows) Также существуют отдельно созданные интерфейсы для создания окон, сообщений и взаимодействия с пользователем. На данный момент возможности сильно ограничены, но в будущем есть планы их расширить. Данная программа может быть полезна пользователям game maker или любителям других игровых конструкторов начинающим изучение программирования. Наименование функций xtreme3d начиная с версии 0.0.4 изменены, в заголовок названий всех функций добавлен символ "x", в остальном имена остались прежними. Поэтому справки по данному движку не будет её Вы можете найти здесь: xtreme3d.narod.ru Здесь не будет описан функционал языка lua, как им пользоваться ознакомьтесь на соответствующих сайтах и в примерах к данной программе. Что нового в текущей версии 1. Добавлено расширение "Max WinAPI 2" для создания интерфейса windows (в Blaze появилась возможность создавать не только игры но и программы имеющие стандартный интерфейс windows). 2. Все функции подключаемые из сторонних библиотек получили в названиях индивидуальный первый символ. xtreme3d - символ "x", gmsquall - символ "s" и т.д. подробнее в описании к каждой из библиотек. Ссылка на скачивание: Blaze v 0.0.4 или https://drive.google.com/file/d/0B5wwHmedZoAWX1JULTlONExfZzA/view?usp=sharing |
|
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 02-05-2017 18:52 |
Ух ты, круто! А я вообще-то хотел поддержку Lua встроить прямо в xtreme3d.dll, для удобства, чтобы в целевом языке не мучиться с привязкой всех функций (использовал CrystalLua, пока написал только врапперы для функций раздела Object). Тоже сделал функции для создания окон, ввода с клавиатуры и мыши. И буквально сегодня начал экспериментировать со Squall, его тоже собирался встроить. Прямо совпадение какое-то. Теперь уже сомневаюсь - если такая большая работа уже проделана, есть ли смысл ее повторять?) А ничего, если я Blaze на сайт выложу? |
|
gadmaker бывалый Группа: Участники Сообщений: 39 |
Добавлено: 03-05-2017 02:47 |
Я буду только рад увидеть её на Вашем сайте. Раз уж начали, то продолжайте. Тем более будет интересно наблюдать за параллельным развитием проектов. Порт Delphi->Lua использую другой "Lua4Delphi-0.0.3" тоже начинал с "CrystalLUA" почти закончил экспортирование функций но в конечном итоге отказался. У неё размер большой после компиляции и могу ошибаться но реализовать функцию "execute_file" на подобии как в game maker может не получится. Зато по CrystalLUA вопросы можно автору задавать. Самое важное чтоб программа синтаксические ошибки показывала, хотя бы номер строки. Это у меня не выходит сделать. |
|
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 03-05-2017 10:31 |
Ага, спасибо, на днях выложу. У меня вот такой API для Lua выходит: lua = LuaManagerCreate(); LuaManagerSetConstantReal(lua, 'globalBack', global.back); LuaManagerSetConstantReal(lua, 'globalScene', global.scene); LuaManagerSetConstantReal(lua, 'globalSront', global.front); script = TextRead('scripts/test1.lua'); if not LuaManagerRunScript(lua, script) game_end(); LuaManagerCallFunction(lua, 'someLuaFunction'); Т.е., можно однократно выполнить скрипт из строки, а потом вызывать функции Lua из него. Размер бинарника у меня увеличился всего на 100 кб (+ lua.dll в 53 кб) - по-моему, это нормально. А вывод ошибок делается очень просто - LuaManagerRunScript ловит исключение, которое выбрасывает CrystalLua: try lua.RunScript(script); except On E: Exception do begin ShowMessage(E.Message); result := 0; end; end; |
|
gadmaker бывалый Группа: Участники Сообщений: 39 |
Добавлено: 03-05-2017 18:09 |
Идея очень интересна, когда выйдет обновление с удовольствием опробую. | |
gadmaker бывалый Группа: Участники Сообщений: 39 |
Добавлено: 11-06-2017 13:09 |
Здравствуйте! Наконец-то обновил версию программы! | |
Sheal Группа: Участники Сообщений: 5 |
Добавлено: 13-06-2017 02:17 |
справка не работает | |
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 13-06-2017 11:04 |
Да, со справкой что-то не то в последней версии: |
|
gadmaker бывалый Группа: Участники Сообщений: 39 |
Добавлено: 14-06-2017 09:00 |
Понял. Постараюсь побыстрее переделать | |
gadmaker бывалый Группа: Участники Сообщений: 39 |
Добавлено: 17-07-2017 17:06 |
Наконец-то доработал следующую версию Blaze, надеюсь проблем с использованием справки больше не будет. Временно завершаю его разработку. Буду тестировать возможности, постараюсь оценить чего еще не хватает, делать небольшую программу. | |
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 17-07-2017 19:42 |
Круто, поддержка WinAPI очень впечатляет. И справка теперь работает. Чуть позже добавлю на сайт. В следующей версии X3D, кстати, будет прямая поддержка ANSI для TTF-шрифтов, не придется конвертировать строки. |
Страницы: 1 |
Форум движка Xtreme3D / Xtreme3D: в процессе разработки / Проект Blaze, Lua для xtreme3d. |