|
2D-программирование Вопросы, касающиеся двумерного программирования |
27.11.2011, 17:50
|
#1
|
ПроЭктировщик
Регистрация: 26.12.2008
Адрес: Usa
Сообщений: 151
Написано 5 полезных сообщений (для 6 пользователей)
|
Input_ или ввод другими словами
Столкнулся с проблемой. Необходимо использовать команду Input, но проблема в том, что она работает только со стандартными шрифтами. То есть если я использую FastText или FastImage, то загруженные мною шрифты не работают.
Интересно, как разработчики пропустили такую команду?
Или может я что-то не так понял и неправильно использую?
К примеру вывод текста (Text) заменен на ускоренный (DrawText)
Или (Text_) в случае с FastText. А подобного аналога для Input не предусмотрели.
Так же интересно, есть ли аналоги библиотек, которые позволяют изменить шрифт при вводе информации в переменную.
|
(Offline)
|
|
27.11.2011, 18:02
|
#2
|
ПроЭктировщик
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений (для 63 пользователей)
|
Ответ: Input_ или ввод другими словами
ну технология тут простая
key=getkey()
if key=8 then msg$=mid(msg$,1,len(msg$)-1)
if key<>0 and key<>8 then
msg$=msg$+chr(key)
endif
text 10,10,msg$ ; - Здесь оторбражение текста это может быть drawtext или как там команда
P.S вообщем могут быть недочеты и ошибки, писал на память
__________________
форум эт вещь... и почему я раньше им не пользовался?
AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
27.11.2011, 18:10
|
#3
|
ПроЭктировщик
Регистрация: 26.12.2008
Адрес: Usa
Сообщений: 151
Написано 5 полезных сообщений (для 6 пользователей)
|
Ответ: Input_ или ввод другими словами
Я консоль делаю, дружище. Мне нужно видеть текст, который вводится пользователем, и поверь, такой вариант я уже пробовал..(
P.S. Сделать цикл с выводом текст в реальном времени не получится, там нужно обновление экрана, чтобы видеть вводимый текст.
|
(Offline)
|
|
27.11.2011, 18:16
|
#4
|
ПроЭктировщик
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений (для 63 пользователей)
|
Ответ: Input_ или ввод другими словами
хм расскажи мне для чего это, просто сделать подобие консоли можно и обновляя экран и тогда можно применить этот способ
__________________
форум эт вещь... и почему я раньше им не пользовался?
AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
|
(Offline)
|
|
27.11.2011, 18:18
|
#5
|
Чудо-кот
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений (для 1,471 пользователей)
|
Ответ: Input_ или ввод другими словами
Мне нужно видеть текст, который вводится пользователем
|
Что мешает рисовать текст после обновления ввода?
|
(Offline)
|
|
27.11.2011, 18:26
|
#6
|
ПроЭктировщик
Регистрация: 26.12.2008
Адрес: Usa
Сообщений: 151
Написано 5 полезных сообщений (для 6 пользователей)
|
Ответ: Input_ или ввод другими словами
Смотрите, как обстоят дела.
В игре при нажатии кнопки должна открываться консоль. Сначала я думал сделать это примерно таким же способом, как уже указывалось выше. То есть после нажатия инициализировался цикл на нажатие клавиши Enter, в котором была переменная конечного текста и текущего символа, который забивался через GetKey(). Затем проверка на корректный символ, добавление к концу строки и вывод. Проблема была в том, что во время работы этого цикла все остальные функции игры переставали работать. То есть игра замирала. Я попробовал сделать этот цикл как бы отдельной игрой, понапихал туда все, что было в основном цикле но тут возникла другая проблема - появлялись артефакты из-за команды RenderWorld, затем из-за FastImage тоже сложности возникали, со сменой буферов.
В общем - не вариант это. Я попробовал все, это слишком большая цена за консоль.
Ну и остался последний, но не самый неудачный вариант - использовать Input. Но и тут не бед косяков. Шрифт, который у меня используется в игре не работает, используя библиотеки (об этом я писал в самом начале) .
Еще у меня есть идея сделать через задницу - сохранить текущий буфер в фаил, потом вывести его и на его фоне выполнять цикл.
|
(Offline)
|
|
27.11.2011, 18:38
|
#7
|
ПроЭктировщик
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений (для 63 пользователей)
|
Ответ: Input_ или ввод другими словами
а все остальные функции загнать в в условие ?
пример:
repeat
if console=0 then
if keydown(200) then moveentity player,0,0,0.1
....
и тд
endif
if console=1 then
отображение консоли
endif
until keyhit(1)
__________________
форум эт вещь... и почему я раньше им не пользовался?
AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
|
(Offline)
|
|
27.11.2011, 18:45
|
#8
|
ПроЭктировщик
Регистрация: 26.12.2008
Адрес: Usa
Сообщений: 151
Написано 5 полезных сообщений (для 6 пользователей)
|
Ответ: Input_ или ввод другими словами
Хм. Попробую. Спасибо.
|
(Offline)
|
|
22.06.2012, 02:06
|
#9
|
Нуждающийся
Регистрация: 14.06.2012
Сообщений: 66
Написано 6 полезных сообщений (для 10 пользователей)
|
Ответ: Input_ или ввод другими словами
складывай символы в слова!!!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:14.
|