Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Blitz3D > 2D-программирование

2D-программирование Вопросы, касающиеся двумерного программирования

Ответ
 
Опции темы
Старый 27.11.2011, 13:50   #1
DarkMedveD
ПроЭктировщик
 
Аватар для DarkMedveD
 
Регистрация: 26.12.2008
Адрес: Питер
Сообщений: 151
Написано 5 полезных сообщений
(для 6 пользователей)
Сообщение Input_ или ввод другими словами

Столкнулся с проблемой. Необходимо использовать команду Input, но проблема в том, что она работает только со стандартными шрифтами. То есть если я использую FastText или FastImage, то загруженные мною шрифты не работают.

Интересно, как разработчики пропустили такую команду?
Или может я что-то не так понял и неправильно использую?

К примеру вывод текста (Text) заменен на ускоренный (DrawText)
Или (Text_) в случае с FastText. А подобного аналога для Input не предусмотрели.

Так же интересно, есть ли аналоги библиотек, которые позволяют изменить шрифт при вводе информации в переменную.
__________________
Фантазия плохого программиста ограничивается его знанием языка. Фантазия хорошего программиста ограничивается возможностями языка и компилятором. Фантазия гениального программиста не ограничивается ничем.
(Offline)
 
Ответить с цитированием
Старый 27.11.2011, 14:02   #2
Spy4433
ПроЭктировщик
 
Аватар для Spy4433
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
DarkMedveD (27.11.2011)
Старый 27.11.2011, 14:10   #3
DarkMedveD
ПроЭктировщик
 
Аватар для DarkMedveD
 
Регистрация: 26.12.2008
Адрес: Питер
Сообщений: 151
Написано 5 полезных сообщений
(для 6 пользователей)
Ответ: Input_ или ввод другими словами

Я консоль делаю, дружище. Мне нужно видеть текст, который вводится пользователем, и поверь, такой вариант я уже пробовал..(


P.S. Сделать цикл с выводом текст в реальном времени не получится, там нужно обновление экрана, чтобы видеть вводимый текст.
__________________
Фантазия плохого программиста ограничивается его знанием языка. Фантазия хорошего программиста ограничивается возможностями языка и компилятором. Фантазия гениального программиста не ограничивается ничем.
(Offline)
 
Ответить с цитированием
Старый 27.11.2011, 14:16   #4
Spy4433
ПроЭктировщик
 
Аватар для Spy4433
 
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений
(для 63 пользователей)
Ответ: Input_ или ввод другими словами

хм расскажи мне для чего это, просто сделать подобие консоли можно и обновляя экран и тогда можно применить этот способ
__________________
форум эт вещь... и почему я раньше им не пользовался?

AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
(Offline)
 
Ответить с цитированием
Старый 27.11.2011, 14:18   #5
Nerd
Чудо-кот
 
Аватар для Nerd
 
Регистрация: 22.02.2011
Сообщений: 891
Написано 472 полезных сообщений
(для 1,456 пользователей)
Ответ: Input_ или ввод другими словами

Мне нужно видеть текст, который вводится пользователем
Что мешает рисовать текст после обновления ввода?
(Offline)
 
Ответить с цитированием
Старый 27.11.2011, 14:26   #6
DarkMedveD
ПроЭктировщик
 
Аватар для DarkMedveD
 
Регистрация: 26.12.2008
Адрес: Питер
Сообщений: 151
Написано 5 полезных сообщений
(для 6 пользователей)
Ответ: Input_ или ввод другими словами

Смотрите, как обстоят дела.

В игре при нажатии кнопки должна открываться консоль. Сначала я думал сделать это примерно таким же способом, как уже указывалось выше. То есть после нажатия инициализировался цикл на нажатие клавиши Enter, в котором была переменная конечного текста и текущего символа, который забивался через GetKey(). Затем проверка на корректный символ, добавление к концу строки и вывод. Проблема была в том, что во время работы этого цикла все остальные функции игры переставали работать. То есть игра замирала. Я попробовал сделать этот цикл как бы отдельной игрой, понапихал туда все, что было в основном цикле но тут возникла другая проблема - появлялись артефакты из-за команды RenderWorld, затем из-за FastImage тоже сложности возникали, со сменой буферов.

В общем - не вариант это. Я попробовал все, это слишком большая цена за консоль.

Ну и остался последний, но не самый неудачный вариант - использовать Input. Но и тут не бед косяков. Шрифт, который у меня используется в игре не работает, используя библиотеки (об этом я писал в самом начале) .

Еще у меня есть идея сделать через задницу - сохранить текущий буфер в фаил, потом вывести его и на его фоне выполнять цикл.
__________________
Фантазия плохого программиста ограничивается его знанием языка. Фантазия хорошего программиста ограничивается возможностями языка и компилятором. Фантазия гениального программиста не ограничивается ничем.
(Offline)
 
Ответить с цитированием
Старый 27.11.2011, 14:38   #7
Spy4433
ПроЭктировщик
 
Аватар для Spy4433
 
Регистрация: 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, 14:45   #8
DarkMedveD
ПроЭктировщик
 
Аватар для DarkMedveD
 
Регистрация: 26.12.2008
Адрес: Питер
Сообщений: 151
Написано 5 полезных сообщений
(для 6 пользователей)
Ответ: Input_ или ввод другими словами

Хм. Попробую. Спасибо.
__________________
Фантазия плохого программиста ограничивается его знанием языка. Фантазия хорошего программиста ограничивается возможностями языка и компилятором. Фантазия гениального программиста не ограничивается ничем.
(Offline)
 
Ответить с цитированием
Старый 21.06.2012, 22:06   #9
Alex__Noc
Нуждающийся
 
Регистрация: 14.06.2012
Сообщений: 66
Написано 6 полезных сообщений
(для 10 пользователей)
Ответ: Input_ или ввод другими словами

складывай символы в слова!!!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 20:17.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com