BearLibTerminal - псевдоконсольное окно для рогалика
Модератор: Apromix
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Спасибо, помогло, теперь работает. Посмотрел комит, простая замена .empty() (это в С++ хелпер?) на == L"_". Как работает?
- Cfyz
- Сообщения: 776
- Зарегистрирован: 30 ноя 2006, 10:03
- Откуда: Санкт-Петербург
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
При разборе параметров (terminal_set, конфиг) параметры трактуются как секции, т. е. могут иметь словарь значений, но нередко имеют неименованное значение. Например в случае "font: foo, ..." значение "foo" не имеет имени, но адресовать его как-то надо. Когда-то для этого использовалось пустое значение имени параметров (и стандартный метод empty() как раз и проверял строку на пустоту), но пустая строка это неаккуратно, так как не понять это значение такое "пустая строка" или значение вообще отсутствует. Поэтому я сделал именем неименованного значение символ подчеркивания. Но вот отредактировал не везде =(.Apromix писал(а):Как работает?
Пытается раскуклиться
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавил проект на Lazarus. Добавил в него последнюю версию библиотеки. Протестировал чтение конфига - нормально читает, уже без ошибки
Этой первой строки в логе не наблюдаю. Так должно быть?Cfyz писал(а):Ну это, как минимум, не весь лог: применение конфига происходит ровно между "Applying options from configuration file, if any" и "Terminal initialization complete" (которым начинается приведенный кусок).
Re: BearLibTerminal - псевдоконсольное окно для рогалика
На реддите народ жалуется, что не получается запустить биндинги для питона.
Кто-нить пользуется?
Какие-нибудь рекомендации передать?
Кто-нить пользуется?
Какие-нибудь рекомендации передать?
- Cfyz
- Сообщения: 776
- Зарегистрирован: 30 ноя 2006, 10:03
- Откуда: Санкт-Петербург
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Терминал на реддите. Мило.
Я ответил. Там довольно необычные симптомы. Я сам чаще всего запускаю на Ubuntu, причем двух довольно разных версий, и чтоб крашилось -- такого не припомню.
Я ответил. Там довольно необычные симптомы. Я сам чаще всего запускаю на Ubuntu, причем двух довольно разных версий, и чтоб крашилось -- такого не припомню.
Пытается раскуклиться
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Вот руки дошли использовать сей инструмент в реальной задаче. И появился вопрос (куда без этого) по работе со слоями. Делаю простой аналог messagbox'а, на 0 слое основное меню, на 255 рисуется бокс с текстом, после нажатия аникей производится очистка слоя и работа возвращается в 0 слой. Вроде все отлично и все работает, но я никак не могу понять как сделать что бы под боксом не отображался 0 слой (а то если в 0 слое что то есть получается каша).
- Cfyz
- Сообщения: 776
- Зарегистрирован: 30 ноя 2006, 10:03
- Откуда: Санкт-Петербург
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Да, действительно, у последующих слоев нет фона, поэтому просто буквы и рамки будут сливаться с лежащим внизу. У этого есть довольно простое, хотя и не очень элегантное решение: на втором слое (где message box) перед выводом надо закрасить фон символами 0x2588 'Full block', а поверх них уже выводить окошко. Это можно сделать или в одном (все том же втором) слое с помощью композиции, или нарисовать сплошной фон в промежуточном слое.
Вероятно, тут помогло бы наличие у всех слоев такого же фона, как и у первого, тогда бы можно было "закрасить" прямоугольник под message box вызовами terminal_bkcolor + terminal_clear_area.
Вероятно, тут помогло бы наличие у всех слоев такого же фона, как и у первого, тогда бы можно было "закрасить" прямоугольник под message box вызовами terminal_bkcolor + terminal_clear_area.
Пытается раскуклиться
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
А еще можно полупрозрачную .png'шку нарисовать в промежуточном слое на весь экран, она красиво затемнит все нижние слои, выглядеть должно здорово))
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Спасибо за консультацию, буду пробовать.
Еще вопрос, есть функция pick для получения кода тайла из ячейки, но как я понял нет функции для полного копирования содержимого блока по x,y,w,h, ну и функции для вставки по x,y. На мой взгляд это востребовано, так как проходить все ячейки pick'ом (+ еще цвет) явно отрицательно скажется на производительности (основной код на ruby).
Еще вопрос, есть функция pick для получения кода тайла из ячейки, но как я понял нет функции для полного копирования содержимого блока по x,y,w,h, ну и функции для вставки по x,y. На мой взгляд это востребовано, так как проходить все ячейки pick'ом (+ еще цвет) явно отрицательно скажется на производительности (основной код на ruby).
- Cfyz
- Сообщения: 776
- Зарегистрирован: 30 ноя 2006, 10:03
- Откуда: Санкт-Петербург
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Операции копирования/восстановления областей попадают в категорию "высокоуровневой" работы. Я потихоньку раздумываю о том, чтобы ввести набор функций по работе с интерфейсом-обастями-контролами, но пока не придумал такого API, чтобы предоставить достойную функциональность не породив химеру a la curses.
Для разовых копирований экрана (не каждый кадр, а разок сохранить при открытии диалога и потом восстановить при закрытии) производительность pick не должна стать проблемой.
Для разовых копирований экрана (не каждый кадр, а разок сохранить при открытии диалога и потом восстановить при закрытии) производительность pick не должна стать проблемой.
Пытается раскуклиться
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Решил немного отвлечься от алгоритмов и поиграться с цветами. Не подскажете, почему шрифт открыть не может? В папку с проектом его положить, что ли нужно? А вообще, мне нужно просто сменить размер шрифта, а то мелковато все. Подскажите, как это сделать малой кровью? Питон третий установлен, убунту 16-я
Скрытый текст: ПОКАЗАТЬ
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Положите его в папку с проектом. Или не указывайте шрифт вообще и терминал использует дефолтный шрифт.vapekreng писал(а):почему шрифт открыть не может? В папку с проектом его положить, что ли нужно? А вообще, мне нужно просто сменить размер шрифта
Справку тут нужно доработать. К сожалению не указана в таблице конфигурация библиотеки группа параметров font.
Версия терминала должна быть самая последняя. В ней добавлено несколько плюшек именно для работы с цветами.vapekreng писал(а):Решил ... поиграться с цветами.
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Благодарю за совет - перекинул шрифт в папку с проектом, заработало. Версия, судя по вики, последняя.
Есть возможность, не указывая шрифт, поменять только размер шрифта? Такой вариант не катит:vapekreng писал(а):Или не указывайте шрифт вообще и терминал использует дефолтный шрифт.
Скрытый текст: ПОКАЗАТЬ
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Вообще-то для font должен был бы быть кактой-то name, path или file, где бы указывался путь к файлу со шрифтом. Возможно, ошибка в терминале. Попробуйте font.size:
Код: Выделить всё
terminal.set('font.size=18;')
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Если не работает, подсмотрите здесь
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей