Нет, здесь стандартный встроенный шрифт без смещения. Видимо сам шрифт так сделан, что внахлест стыкуются рамки.
BearLibTerminal - псевдоконсольное окно для рогалика
Модератор: Apromix
Re: BearLibTerminal - псевдоконсольное окно для рогалика
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Во время тестирования своей игры обнаружилась ошибка в терминале, появилась белая сетка. Что может быть?
- Cfyz
- Сообщения: 776
- Зарегистрирован: 30 ноя 2006, 10:03
- Откуда: Санкт-Петербург
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Так это же один из дефолтных Alt-хоткеев: Alt+G (grid) переключает отображение сетки, чтобы можно было подебажить расположение/центрирование тайлов.Apromix писал(а):обнаружилась ошибка в терминале, появилась белая сетка. Что может быть?
Пытается раскуклиться
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Буду знать И много таких хоткеев?
В терминале есть возможность использовать картики в перемешку с текстом? Например, отображение свойств оружия и перед числом урона показывать меч или топор, перед числами прочности (тек/макс) отображать молот и тд.
В терминале есть возможность использовать картики в перемешку с текстом? Например, отображение свойств оружия и перед числом урона показывать меч или топор, перед числами прочности (тек/макс) отображать молот и тд.
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Дык загружаешь свой тайл - хоть молоток, хоть топор по определенному коду символа, и рисуешь его вместо текста. В демке, что к псевдотерминалу прилагается, вроде были подобные примеры.
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Начал изучать язык nim и сделал биндинг для терминала. За основу взял биндинги C и Go. Затем на гитхабе обнаружил биндинг для терминала товарища Zacharycarter (blt.nim). Объединил биндинги, подсматривая в его биндинг и латая свой
Затем можно будет добавить ко всем поддерживаемым терминалом биндингам. Скорее всего с выходом новой версии терминала. Язык Nim легок в освоении и набирает популярность.
Затем можно будет добавить ко всем поддерживаемым терминалом биндингам. Скорее всего с выходом новой версии терминала. Язык Nim легок в освоении и набирает популярность.
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Если что, у меня есть для crystal байндинг -
https://github.com/konovod/medico/blob/ ... erminal.cr
Лень было делать из него отдельный репозиторий, но т.к. nim - практически прямой противник конкурент кристала, если будут добавлять байндинг нима то кристалловский я тоже как репозиторий оформлю.
https://github.com/konovod/medico/blob/ ... erminal.cr
Лень было делать из него отдельный репозиторий, но т.к. nim - практически прямой противник конкурент кристала, если будут добавлять байндинг нима то кристалловский я тоже как репозиторий оформлю.
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
У кристалла такой лаконичный синтаксис
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Добрый день. Нашёл в документации к функции 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.
Т.е. как-то можно выводить текст в области с заданной шириной? Что за тег нужно для этого использовать?
Заранее прошу прощения, если это где-то описано, но я не смог найти.
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 - псевдоконсольное окно для рогалика
;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
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Такой вопрос
До сих пор я писал рогалик символьный, все вроде шло гладко. Теперь же я хочу добавить и графические тайлы, скажем 32х32. Получается нужно будет выводить и обычный шрифт как сейчас в его сетку, скажем 8х16 и графические тайлы в сетку 32х32.
Как такое провернуть?
До сих пор я писал рогалик символьный, все вроде шло гладко. Теперь же я хочу добавить и графические тайлы, скажем 32х32. Получается нужно будет выводить и обычный шрифт как сейчас в его сетку, скажем 8х16 и графические тайлы в сетку 32х32.
Как такое провернуть?
- Cfyz
- Сообщения: 776
- Зарегистрирован: 30 ноя 2006, 10:03
- Откуда: Санкт-Петербург
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Так это штатный совершенно режим работы. Если размеры тайлов кратны ячейкам, то достаточно указать при загрузке тайлсета его "шаг":Apromix писал(а):Получается нужно будет выводить и обычный шрифт как сейчас в его сетку, скажем 8х16 и графические тайлы в сетку 32х32.
Код: Выделить всё
0xE000: tileset.png, size=32x32, spacing=4x2
Код: Выделить всё
terminal_put(x, y, $E000+i);
Spacing еще учитывается при выводе текста, например если загрузить 16x16 тайлы-пиктограммы (spacing=2x1), то их можно будет использовать в выводе через print (типа 2⌘ 3⌬) и удвоенный размер "символа" будет учтен при самом выводе, при автопереносе или измерении строки (это можно заметить в примере "Formatted Log"). Но 32x32 вряд ли предназначено для вывода вместе с текстом =/.
Пытается раскуклиться
- Харука-тян
- Мастер
- Сообщения: 544
- Зарегистрирован: 29 ноя 2006, 00:23
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Обновилась до текущей версии, terminal_move молча пропал из библиотеки (в ченжлогах не нашла упоминаний о его уходе).
- Cfyz
- Сообщения: 776
- Зарегистрирован: 30 ноя 2006, 10:03
- Откуда: Санкт-Петербург
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Ой.Харука-тян писал(а):terminal_move молча пропал из библиотеки
Он немного молча появился и так же молча пропал, когда я делал рефакторинг (путем выпиливания) работы с потоками в библиотеке. Я тогда не впилил его обратно потому, что этот "курсор" кажется выполнял не совсем то, что на самом деле было нужно.
Я ведь правильно понимаю, что тебе нужен не именно курсор ввода, а просто самостоятельно (без ручного put/refresh) мигающий символ для визуализации некоторой координаты? Ведь тогда функциональность по запоминанию позиции вывода после put/print, переносы и магические TK_USE_CURSOR_POS -- все это не нужно, даже terminal_move толком не нужен, а нужен анимированный тайл.
Если так, то, возможно, имеет смысл сразу попытаться сделать простой вариант анимированных тайлов, потому что это общий случай и может быть полезен более чем в одном месте. Простой вариант -- это когда они все анимированы синхронно (но отличаются набором/частотой кадров), как например тут:
Скрытый текст: ПОКАЗАТЬ
Пытается раскуклиться
- Харука-тян
- Мастер
- Сообщения: 544
- Зарегистрирован: 29 ноя 2006, 00:23
- Контактная информация:
Re: BearLibTerminal - псевдоконсольное окно для рогалика
Действительно имеет. Ждём!Cfyz писал(а): ↑21 ноя 2017, 15:29имеет смысл сразу попытаться сделать простой вариант анимированных тайлов, потому что это общий случай и может быть полезен более чем в одном месте. Простой вариант -- это когда они все анимированы синхронно (но отличаются набором/частотой кадров), как например тут:Скрытый текст: ПОКАЗАТЬ
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 22 гостя