BearLibTerminal - псевдоконсольное окно для рогалика

Форум библиотеки BeaRLib

Модератор: Apromix

Tookser
Сообщения: 155
Зарегистрирован: 08 апр 2010, 11:09

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Сообщение Tookser » 05 май 2018, 08:04

Tookser писал(а):
04 май 2018, 19:28
Понял, спасибо.
Ещё один вопрос. У меня есть цикл, в котором key = t.read() и проверка состояния клавиш, это основная часть интерфейса. Включена опция input.filter = keyboard+ , как в каком-то примере. Но эта опция мешает в другой части программы ждать нажатия любой клавиши с помощью terminal_read (так как туда попадает отжатие клавиши). Как проще всего разрешить этот конфликт?:?
Нашёл совсем очевидное решение, перед ожиданием нажатия клавиши ставить опцию input.filter = keyboard , чтобы отжатия клавиш перестали ловиться.

Аватара пользователя
Apromix
Мастер
Сообщения: 1172
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Сообщение Apromix » 27 июн 2018, 17:52

Пришла в голову идея :D Сделать в терминале переназначение клавиш через конфигурационный файл. А также добавить виртуальные клавиши для самых основных функций рогалика, как поднятие предметов (TK_PICKUP), выход из сцены (TK_QUIT), открытие инвентаря (TK_INVENTORY) и т.д.

Аватара пользователя
Apromix
Мастер
Сообщения: 1172
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Сообщение Apromix » 01 ноя 2018, 07:34

А как сделать счелчок мышкой по слову?

Аватара пользователя
Apromix
Мастер
Сообщения: 1172
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Сообщение Apromix » 22 янв 2019, 07:16

Кто-то знает, как можно организовать плавный полет стрелы/болта в терминале?

Аватара пользователя
karagy
Сообщения: 1079
Зарегистрирован: 10 янв 2007, 14:13

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Сообщение karagy » 22 янв 2019, 12:18

Поочередно перерисовывать спрайт стрелы по траектории движения оной?
Причем если летит медленно - перерисовывать с учетом окрестных спрайтов. Ну, что-бы летела трела а не квадрат с изображением стрелы на нем.
А если летит быстро - можно попробовать и "квадрат со стрелой". Авось не заметят.

Аватара пользователя
Cfyz
Сообщения: 765
Зарегистрирован: 30 ноя 2006, 10:03
Откуда: Санкт-Петербург
Контактная информация:

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Сообщение Cfyz » 22 янв 2019, 17:18

Apromix писал(а):Пришла в голову идея :D Сделать в терминале переназначение клавиш через конфигурационный файл. А также добавить виртуальные клавиши для самых основных функций рогалика, как поднятие предметов (TK_PICKUP), выход из сцены (TK_QUIT), открытие инвентаря (TK_INVENTORY) и т.д.
Ага, мне тоже эта идея приходила. Кажется, что можно довольно гибко сделать. Проблема в том, что набора предзаготовленных констант не хватит в общем виде. Получается нужно как-то связать конфиг со значениями, которые будет выбирать разработчик, но в конфиге это строчки, а в коде цифры.
Apromix писал(а):А как сделать счелчок мышкой по слову?
Всмысле понять, что щелкнули по слову? Тут помощи от терминала мало, он может подсказать разве что символ и цвет, куда щелкнули. Можно пытаться читать символы влево и вправо до пробела или переноса, но не факт что это будет работать надежно. Чую есть куда подумать в этом направлении, возможность отличать одни тайлы от других по некоторой незаметной дополнительной информации о них может быть полезной.
Apromix писал(а):Кто-то знает, как можно организовать плавный полет стрелы/болта в терминале?
karagy прав, нужно рисовать спрайт по траектории. Разве что "с учетом окрестных спрайтов" это в терминале из коробки, и в произвольном месте спрайт нарисовать это тоже просто, но все равно рисовать самому. Анимацию тоже хотелось бы как-нибудь приделать, например мне очень нравится плавное перемещение действующих лиц между клетками, снаряды и прочие эффекты опять же. Но анимация за пределами (или поперек) сетки знакомест -- это допущение, которое расшатывает все повествование =(. Помимо того, что это непросто включить в лаконичный API, есть еще проблема где остановиться, ведь начав плавно перемещать спрайты из клетки в клетку, хочется добавить красивостей и остальным элементам.
Пытается раскуклиться

altmax
Сообщения: 127
Зарегистрирован: 15 сен 2012, 11:59

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Сообщение altmax » 16 фев 2019, 07:57

Cfyz писал(а):
22 янв 2019, 17:18

Apromix писал(а):Кто-то знает, как можно организовать плавный полет стрелы/болта в терминале?
karagy прав, нужно рисовать спрайт по траектории. Разве что "с учетом окрестных спрайтов" это в терминале из коробки, и в произвольном месте спрайт нарисовать это тоже просто, но все равно рисовать самому. Анимацию тоже хотелось бы как-нибудь приделать, например мне очень нравится плавное перемещение действующих лиц между клетками, снаряды и прочие эффекты опять же. Но анимация за пределами (или поперек) сетки знакомест -- это допущение, которое расшатывает все повествование =(. Помимо того, что это непросто включить в лаконичный API, есть еще проблема где остановиться, ведь начав плавно перемещать спрайты из клетки в клетку, хочется добавить красивостей и остальным элементам.
Так есть функция в терминале put_ext, которая рисует спрайт с нужным смещением. С помощью неё достаточно легко можно реализовать плавное перемещение и полет стрелы. Только терминал скорее всего надо будет блокироваться на время отрисовки анимации.

altmax
Сообщения: 127
Зарегистрирован: 15 сен 2012, 11:59

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Сообщение altmax » 23 фев 2019, 17:00

Подумал, что реализовать плавное перемещение героя будет не так просто - как правило он всегда в центре отображаемой карты, и придется плавно скроллить всю карту, а его оставлять на месте.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей