LinuxForum.Fans
Тема

Lua: нарисовать прямоугольник

Автор: 1000Mhz 18 сообщений 1791 просмотров
26.01.2015 17:53 #411416

Возможно это тупой вопрос :) Хотел добавить визуальное отображение цветов в #RRGGBB, посмотрел тут http://lua-users.org/wiki/LibrariesAndBindings - но oocairo давно уже фсе (пакеты совсем древние), и как тогда?

26.01.2015 18:21 #411420

Изучайте python

26.01.2015 18:31 #411422

"s.xbatob" написал:
Изучайте python
ну или C++ (gtkmm)
26.01.2015 18:32 #411423
"s.xbatob" написал:
Изучайте python

Ни-ха-чу!))) Но в данном случае нужно именно на Lua (или никак).

26.01.2015 18:34 #411424

"1000Mhz" написал:
Но в данном случае нужно именно на Lua (или никак).
собирайте из исходников.

Какие проблемы?(это вопрос).
26.01.2015 18:52 · отредактировано #411427

Пробовал, не собирается, и последнее обновление LuaCairo- 2011-01-11, так что наверно это не лучший выбор.

26.01.2015 19:00 #411432

"1000Mhz" написал:
Пробовал, не собирается, и последнее обновление LuaCairo- 2011-01-11
не вижу ошибок.
26.01.2015 20:56 · отредактировано #411440

1000Mhz, http://love2d.org/

text
function love.draw()
    love.graphics.rectangle("fill", 0, 0, 100, 150)
end

Нарисует в левом верхнем углу закрашенный прямоугольник 100x150.

з.ы. только у эторго решения lua лишь логику описывает, сам LÖVE, емнип, на C++ написан. Но вроде как в репозиториях большинства длистрибутивов он есть http://pkgs.org/search/?query=love&type=smart

26.01.2015 20:59 #411441

Нашёл пару биндингов библиотеки qt. Правда, тоже не очень свежих.

26.01.2015 21:30 · отредактировано #411443
"s.xbatob" написал:
Нашёл пару биндингов библиотеки qt. Правда, тоже не очень свежих.

Из биндингов к популярным gui-тулкитам, более-менее живой и хоть как-то пригодный к использованию - wxLua. Во всяком случае, я его собирал с wxWidgets 2.8.*/2.9.*, и по-моему в почтовой рассылке писали, что и с wxWidgets 3.0.* собрать его реально (в этом случае, брать, естественно, надо из гита/свн его).

27.01.2015 00:52 #411458

LÖVE видел, но мне и показалось, что это как из пушки по воробьям и не то. Нет халявы))

27.01.2015 09:09 · отредактировано #411464

Кстати, https://github.com/gflima/nclua (Event handling and 2D graphics for Lua scripts)
Не знаю, что это, но я не могу даже собрать "напосмотреть":
bootstrap

text
.......
AUTORECONF=`which autoreconf`
if test -z $AUTORECONF; then
  echo "*** No autoreconf found, please install it ***"
  exit 1
fi
test -f ./ChangeLog || touch ./ChangeLog
$AUTORECONF --install --verbose || exit $?

И сразу:

autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I build-aux ${ACLOCAL_FLAGS}
configure.ac:28: error: bad major version number
configure.ac:28: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
autoreconf: aclocal failed with exit status: 1
27.01.2015 10:03 · отредактировано #411475

"xxblx" написал:
Но вроде как в репозиториях большинства длистрибутивов он есть
https://love2d.org/ (тут есть готовое для убунты)
в слакваре это тоже работает

"1000Mhz" написал:
LÖVE видел, но мне и показалось, что это как из пушки по воробьям и не то. Нет халявы
нет, это именно то, что вам нужно.
27.01.2015 10:16 #411479
"drBatty" написал:
нет, это именно то, что вам нужно.

Я таки думаю, что это как раз то, что мне не нужно: у меня есть скрипт на Lua, в который я хотел бы встроить функцию рисования квадрата цветом #RRGGBB, а love2d- это:
[console]/usr/bin/love2d main.love[/console]

27.01.2015 10:20 #411481

1000Mhz, AFAIK love, это такой lua, который умеет рисовать разноцветные прямоугольники.

Конечно вы можете сами навоять батарейку на питоне/C++/ассемблере, но я не думаю, что это хорошая идея.

А решать конечно вам, я не настаиваю…

27.01.2015 10:40 · отредактировано #411487

Так у меня уже есть Lua, Lua 5.2, и "еще один Lua" мне не нужен :) Речь про биндинги к, например, Cairo (или не к Cairo, на данный момент это неважно).

27.01.2015 11:00 #411489

1000Mhz, ну юзай cairo, в чём проблема-то? Древний cairo рисует кривые прямоугольники?

27.01.2015 15:46 · отредактировано #411562

1000Mhz, не усложняй себе жизнь. Возьми проще уж биндинг wxLua к тулкиту wxWidgets тогда. Создай фрейм и на нем нарисуй прямоугольник средствами wxDC.

Войдите или зарегистрируйтесь, чтобы ответить.