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

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

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 23.09.2011, 17:35   #1
Mind
ПроЭктировщик
 
Аватар для Mind
 
Регистрация: 24.02.2011
Сообщений: 188
Написано 13 полезных сообщений
(для 18 пользователей)
Вывод текста

Помогите разобраться....
По книге Станислава Горнакова пробывал выводить текст так там у него одни ошибки. Он предназначен для старого DXSDK. Я так и немогу понять как создать текст в С++, с помошщью какой команды.
ЗЫ как вывести цифры на экран, прейдется преобразовывать типы (из int в char и т.д)?
(Offline)
 
Ответить с цитированием
Старый 23.09.2011, 17:40   #2
FireOwl
Бывалый
 
Аватар для FireOwl
 
Регистрация: 16.09.2009
Адрес: Sun system
Сообщений: 831
Написано 442 полезных сообщений
(для 1,836 пользователей)
Ответ: Вывод текста

Имеется в виду это: http://adorning.ru/2010/01/10/c-urok-6-stroki/
Или что?
__________________
N"Gasta! Kvata! Kvakis!
Ahkstas so novajxletero (oix jhemile) so Ranetauw.
(Offline)
 
Ответить с цитированием
Старый 23.09.2011, 17:54   #3
Mind
ПроЭктировщик
 
Аватар для Mind
 
Регистрация: 24.02.2011
Сообщений: 188
Написано 13 полезных сообщений
(для 18 пользователей)
Ответ: Вывод текста

Я имел ввиду вывод текста в 3D приложение
(Offline)
 
Ответить с цитированием
Старый 23.09.2011, 22:49   #4
falcon
Разработчик
 
Аватар для falcon
 
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений
(для 470 пользователей)
Ответ: Вывод текста

По книге Станислава Горнакова
сожги книгу и автора, по возможности...
(Offline)
 
Ответить с цитированием
Старый 24.09.2011, 11:53   #5
Mind
ПроЭктировщик
 
Аватар для Mind
 
Регистрация: 24.02.2011
Сообщений: 188
Написано 13 полезных сообщений
(для 18 пользователей)
Ответ: Вывод текста

Сообщение от falcon Посмотреть сообщение
сожги книгу и автора, по возможности...

Уже ей непользуюсь месяца полтора где-то. Сам кодю и решаю задачи.

Но все же как быть с текстом?
(Offline)
 
Ответить с цитированием
Старый 24.09.2011, 22:11   #6
Mhyhr
Бывалый
 
Регистрация: 06.04.2009
Сообщений: 612
Написано 276 полезных сообщений
(для 858 пользователей)
Ответ: Вывод текста

Неужели так сложно нагуглить самому что-то типа:
http://www.toymaker.info/Games/html/text.html

прейдется преобразовывать типы (из int в char и т.д)?
Да прЕЙдется.
(Offline)
 
Ответить с цитированием
Старый 25.09.2011, 12:33   #7
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Вывод текста

Сообщение от Mind Посмотреть сообщение
прейдется преобразовывать типы (из int в char и т.д)?
Нет, преобразование тут не поможет. Читай itoa, ftoa и подобные
(Offline)
 
Ответить с цитированием
Старый 25.09.2011, 13:53   #8
genroelgvozo
Нуждающийся
 
Регистрация: 08.05.2008
Сообщений: 87
Написано 9 полезных сообщений
(для 15 пользователей)
Ответ: Вывод текста

можно еще char(n+48 ) в цикле
(Offline)
 
Ответить с цитированием
Старый 25.09.2011, 14:39   #9
Mind
ПроЭктировщик
 
Аватар для Mind
 
Регистрация: 24.02.2011
Сообщений: 188
Написано 13 полезных сообщений
(для 18 пользователей)
Ответ: Вывод текста

Сообщение от Mhyhr Посмотреть сообщение
Неужели так сложно нагуглить самому что-то типа:
http://www.toymaker.info/Games/html/text.html
Такой метод я знаю. Я не пойму как в таком случае вывести число из переменной.Если с преобразованием то какой командой?stroka=reinterpret_cast<LPCWSTR>(perem)?


Сообщение от genroelgvozo
можно еще char(n+48 ) в цикле
нафига?

Сообщение от ПАВЕЛ
Нет, преобразование тут не поможет. Читай itoa, ftoa и подобные
Что это такое?

ЗЫ есть ли еще какя-нить команда для вывода текста в 3D приложение кроме Drawtext ?
(Offline)
 
Ответить с цитированием
Старый 25.09.2011, 14:59   #10
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Вывод текста

Сообщение от genroelgvozo Посмотреть сообщение
можно еще char(n+48 ) в цикле
это проканает при системе кодирования числа "1-байт-1-цифра"
т.е. 123 задаётся как
char n[3];
n[0]=1;
n[1]=2;
n[2]=3;
и выводится как
for(short i=0;i<sizeof(n);i++){
cout<<char(n[i]+48)<<endl;
}
48 - кодовая разница по ASCII между '0' и 0
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 25.09.2011, 16:29   #11
Mind
ПроЭктировщик
 
Аватар для Mind
 
Регистрация: 24.02.2011
Сообщений: 188
Написано 13 полезных сообщений
(для 18 пользователей)
Ответ: Вывод текста

48 - кодовая разница по ASCII между '0' и 0
Понял спс.
(Offline)
 
Ответить с цитированием
Старый 28.09.2011, 10:33   #12
genroelgvozo
Нуждающийся
 
Регистрация: 08.05.2008
Сообщений: 87
Написано 9 полезных сообщений
(для 15 пользователей)
Ответ: Вывод текста

ну так можно получать разряды из числа а не хранить их в массиве
ну а вообще да лучше наверное itoa, хотя мне кто то говорил что там фишки не хорошие есть
(Offline)
 
Ответить с цитированием
Старый 28.09.2011, 10:59   #13
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Вывод текста

Сообщение от genroelgvozo Посмотреть сообщение
ну так можно получать разряды из числа а не хранить их в массиве
Что-то в голове рождается не очень красивый код, со скачками по адресам и кучей битовых операций, а в итоге:
Сообщение от genroelgvozo Посмотреть сообщение
ну а вообще да лучше наверное itoa, хотя мне кто то говорил что там фишки не хорошие есть
Ну, наверное, проблемы с переполнением переданного char буфера
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 21.12.2011, 20:13   #14
Mind
ПроЭктировщик
 
Аватар для Mind
 
Регистрация: 24.02.2011
Сообщений: 188
Написано 13 полезных сообщений
(для 18 пользователей)
Ответ: Вывод текста

Вот краткая функция вывода текста:

void InitMyText(IDirect3DDevice9* dev,HFONT hFont)
{
	if (hFont == NULL)
	hFont = CreateFont(30,10,0,0,FW_NORMAL,0,0,0,1,0,0,0,DEFAULT_PITCH | FF_MODERN,L"Arial");
  
	if (pFont == NULL)
	D3DXCreateFontIndirect(dev,&hv,&pFont);
}
void DrawMyText(LPCWSTR str,int x,int y,int x1,int y1,D3DCOLOR MyColor)
{
	Rec.left = x;
	Rec.top = y;
	Rec.right = x1;
	Rec.bottom = y1;
	
	pFont -> DrawText(0,str,-1,&Rec,DT_WORDBREAK,MyColor);
}
Вопрос в том как только выводить цифры? Где-то читал что надо делать так:

void PrintInt(int a, int x, int y,D3DCOLOR MyColor)
{
     char textint[33]; 
     _itoa_s(a,textint,10);
     pFont -> DrawText(0,textint,-1,&Rec,DT_WORDBREAK,MyColor); // Ругается  
}
Ругается потому что не совпадает тип char с типом LPCWSTR.
Вот и не пойму что делать. Подскажите.
(Offline)
 
Ответить с цитированием
Старый 21.12.2011, 21:35   #15
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Вывод текста

а ты попробуй DrawTextA, а вообще переключи в свойствах проекта использовать unicode, на многобайтовую. Или wchar_t textint[33]
UPD:
wchar_t* textint = new wchar_t[33];
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mind (21.12.2011)
Ответ


Опции темы

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

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


Часовой пояс GMT +4, время: 22:40.


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