Страница 49 из 54
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 22 июл 2017, 16:46
altmax
Cfyz писал(а): ↑21 июл 2017, 13:01
А еще рамоки (которые кстати по большей части одинаково генерятся для всех шрифтов) вроде бы должны стыковаться ровно, а не внахлест. Используется пиксельные смещение?
Нет, здесь стандартный встроенный шрифт без смещения. Видимо сам шрифт так сделан, что внахлест стыкуются рамки.
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 23 авг 2017, 11:44
Apromix
Во время тестирования своей игры обнаружилась ошибка в терминале, появилась белая сетка. Что может быть?
- imgpsh_fullsize.png (93.5 КБ) 9326 просмотров
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 24 авг 2017, 10:04
Cfyz
Apromix писал(а):обнаружилась ошибка в терминале, появилась белая сетка. Что может быть?
Так это же один из дефолтных Alt-хоткеев: Alt+G (grid) переключает отображение сетки, чтобы можно было подебажить расположение/центрирование тайлов.
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 31 авг 2017, 04:55
Apromix
Буду знать
И много таких хоткеев?
В терминале есть возможность использовать картики в перемешку с текстом? Например, отображение свойств оружия и перед числом урона показывать меч или топор, перед числами прочности (тек/макс) отображать молот и тд.
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 02 сен 2017, 19:39
altmax
Apromix писал(а): ↑31 авг 2017, 04:55
Буду знать
И много таких хоткеев?
В терминале есть возможность использовать картики в перемешку с текстом? Например, отображение свойств оружия и перед числом урона показывать меч или топор, перед числами прочности (тек/макс) отображать молот и тд.
Дык загружаешь свой тайл - хоть молоток, хоть топор по определенному коду символа, и рисуешь его вместо текста. В демке, что к псевдотерминалу прилагается, вроде были подобные примеры.
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 16 сен 2017, 19:44
Apromix
Начал изучать язык nim и сделал
биндинг для терминала. За основу взял биндинги C и Go. Затем на гитхабе обнаружил биндинг для терминала товарища Zacharycarter (blt.nim). Объединил биндинги, подсматривая в его биндинг и латая свой
Затем можно будет добавить ко всем поддерживаемым терминалом биндингам. Скорее всего с выходом новой версии терминала. Язык Nim легок в освоении и набирает популярность.
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 19 сен 2017, 19:26
kipar
Если что, у меня есть для
crystal байндинг -
https://github.com/konovod/medico/blob/ ... erminal.cr
Лень было делать из него отдельный репозиторий, но т.к. nim - практически прямой
противник конкурент кристала, если будут добавлять байндинг нима то кристалловский я тоже как репозиторий оформлю.
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 27 сен 2017, 16:17
Apromix
У кристалла такой лаконичный синтаксис
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 30 окт 2017, 13:14
gelad655
Добрый день. Нашёл в документации к функции print упоминание о "bounding box tag", а конкретно:
This function returns one of the dimensions of a string printed on screen with all formatting enabled. By default print returns the width of a longest line in a printed string. If the string contains a bounding box tag, then maximum width is considered to be already known and print returns the height of an auto-wrapped string printed on screen.
Т.е. как-то можно выводить текст в области с заданной шириной? Что за тег нужно для этого использовать?
Заранее прошу прощения, если это где-то описано, но я не смог найти.
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 30 окт 2017, 16:26
altmax
gelad655 писал(а): ↑30 окт 2017, 13:14
Т.е. как-то можно выводить текст в области с заданной шириной? Что за тег нужно для этого использовать?
Заранее прошу прощения, если это где-то описано, но я не смог найти.
terminal_print_ext (2,30,40,5,TK_ALIGN_DEFAULT, Message.c_str())
;
terminal_print (x,y,width, height,ALIGN,"Hello, world");
Виды выравнивания:
#define TK_ALIGN_DEFAULT 0
#define TK_ALIGN_LEFT 1
#define TK_ALIGN_RIGHT 2
#define TK_ALIGN_CENTER 3
#define TK_ALIGN_TOP 4
#define TK_ALIGN_BOTTOM 8
#define TK_ALIGN_MIDDLE 12
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 05 ноя 2017, 20:33
Apromix
Такой вопрос
До сих пор я писал рогалик символьный, все вроде шло гладко. Теперь же я хочу добавить и графические тайлы, скажем 32х32. Получается нужно будет выводить и обычный шрифт как сейчас в его сетку, скажем 8х16 и графические тайлы в сетку 32х32.
Как такое провернуть?
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 07 ноя 2017, 11:59
Cfyz
Apromix писал(а):Получается нужно будет выводить и обычный шрифт как сейчас в его сетку, скажем 8х16 и графические тайлы в сетку 32х32.
Так это штатный совершенно режим работы. Если размеры тайлов кратны ячейкам, то достаточно указать при загрузке тайлсета его "шаг":
Код: Выделить всё
0xE000: tileset.png, size=32x32, spacing=4x2
И дальше как обычно
Где x, y это, очевидно, координаты в ячейках. Т. е. большие тайлы выравниваются не по сетке 32x32, а по меньшей базовой.
Spacing еще учитывается при выводе текста, например если загрузить 16x16 тайлы-пиктограммы (spacing=2x1), то их можно будет использовать в выводе через print (типа 2⌘ 3⌬) и удвоенный размер "символа" будет учтен при самом выводе, при автопереносе или измерении строки (это можно заметить в примере "Formatted Log"). Но 32x32 вряд ли предназначено для вывода вместе с текстом =/.
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 20 ноя 2017, 06:35
Харука-тян
Обновилась до текущей версии, terminal_move молча пропал из библиотеки (в ченжлогах не нашла упоминаний о его уходе).
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 21 ноя 2017, 15:29
Cfyz
Харука-тян писал(а):terminal_move молча пропал из библиотеки
Ой.
Он немного молча появился и так же молча пропал, когда я делал рефакторинг (путем выпиливания) работы с потоками в библиотеке. Я тогда не впилил его обратно потому, что этот "курсор" кажется выполнял не совсем то, что на самом деле было нужно.
Я ведь правильно понимаю, что тебе нужен не именно курсор ввода, а просто самостоятельно (без ручного put/refresh) мигающий символ для визуализации некоторой координаты? Ведь тогда функциональность по запоминанию позиции вывода после put/print, переносы и магические TK_USE_CURSOR_POS -- все это не нужно, даже terminal_move толком не нужен, а нужен анимированный тайл.
Если так, то, возможно, имеет смысл сразу попытаться сделать простой вариант анимированных тайлов, потому что это общий случай и может быть полезен более чем в одном месте. Простой вариант -- это когда они все анимированы синхронно (но отличаются набором/частотой кадров), как например тут:
- Mine.gif (88.1 КБ) 8528 просмотров
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добавлено: 23 ноя 2017, 08:18
Харука-тян
Cfyz писал(а): ↑21 ноя 2017, 15:29
имеет смысл сразу попытаться сделать простой вариант анимированных тайлов, потому что это общий случай и может быть полезен более чем в одном месте. Простой вариант -- это когда они все анимированы синхронно (но отличаются набором/частотой кадров), как например тут:
Действительно имеет. Ждём!