Что же делать с текстом?

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

Admiralisimys
Постоялец
Постоялец
 
Сообщения: 318
Зарегистрирован: 01.06.2009 (Пн) 10:26

Re: Что же делать с текстом?

Сообщение Admiralisimys » 30.05.2012 (Ср) 18:36

Что интересно здесь http://www.youtube.com/watch?v=GDewRNe4ahA человек свободно юзает DrawText без каких-то оговорок.
DirectX in VB.NET.png

DrKillJoy если используешь Express Edition (да и Виндовс Виста или выше), особого смысла оставаться на 2008 версии нет.
У вас нет доступа для просмотра вложений в этом сообщении.
Последний раз редактировалось Admiralisimys 30.05.2012 (Ср) 18:37, всего редактировалось 1 раз.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Что же делать с текстом?

Сообщение Mikle » 30.05.2012 (Ср) 18:36

Хакер писал(а):Mikle, а ты знаком внутренним языком Unreal Engine (я видел и писал только на языке от UE-1)? Он тебе нравится?

Никогда не пробовал. Но это же должен быть интерпретируемый скрипт?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 30.05.2012 (Ср) 18:39

Admiralisimys писал(а):человек свободно юзает DrawText без каких-то оговорок

Видимо, FireFenix прав. На скриншоте не Rectangle.
А скрытые методы мне уже попадались.

DrKillJoy
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 56
Зарегистрирован: 10.04.2011 (Вс) 10:06

Re: Что же делать с текстом?

Сообщение DrKillJoy » 30.05.2012 (Ср) 18:47

Неа. В .NET 4 больше возможностей. А в .NET 3.5 есть вполне конкретные баги.
Значит нужно будет перейти... Надеюсь проблем не возникнет как с переходом vb6 -> VB2008
DrKillJoy если используешь Express Edition (да и Виндовс Висты и выше), особого смысла оставаться на 2008 версии нет.
Обязательно перейду, когда выберу фреймворк!
Что интересно здесь http://www.youtube.com/watch?v=GDewRNe4ahA человек свободно юзает DrawText без каких-то оговорок.
Как это у него получается? Посмотрю целиком, может пойму...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Что же делать с текстом?

Сообщение Хакер » 30.05.2012 (Ср) 20:54

Mikle писал(а):Никогда не пробовал. Но это же должен быть интерпретируемый скрипт?

Нет! Это компилируемый (вроде как в Native Code) язык с типами, с ООП-ом, с перегружаемыми операторами, причём есть нечто вроде Declare Function, с помощью которого можно определить оператор, реализация которого находится в сторонней DLL.

Как язык мне он очень нравится, и я думаю, что было бы хорошо сделать что-то такое, но общего назначения, отвязанное от UnrealEngine.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 30.05.2012 (Ср) 21:34

FireFenix писал(а):В других языках? в C# есть ссылка, вот и передаётся нормально

Не привык я к такому обозаначению шарповской ссылки :)
Знак & ведь означает ссылку в Си и Си++, т. е. по сути скрытый указатель. А для ссылок на reference классы в Си++.NET используется знак ^, в шарпе - out или ref. Так что я его неверно интерпритировал.
Кстати, в VB.NET ByRef тоже есть, только не понятно, как его сюда прикрутить...

Да, ещё одно изврашение в голову пришло - обернуть этот класс классом на C#.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Что же делать с текстом?

Сообщение Хакер » 30.05.2012 (Ср) 21:41

Qwertiy писал(а):Знак & ведь означает ссылку в Си и Си++, т. е. по сути скрытый указатель.

В Си нет никаких ссылок. В Си & обозначает либо побитовое и, либо это оператор взятия адреса.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Что же делать с текстом?

Сообщение FireFenix » 30.05.2012 (Ср) 21:45

Qwertiy писал(а):
FireFenix писал(а):В других языках? в C# есть ссылка, вот и передаётся нормально

Не привык я к такому обозаначению шарповской ссылки :)
Знак & ведь означает ссылку в Си и Си++, т. е. по сути скрытый указатель. А для ссылок на reference классы в Си++.NET используется знак ^, в шарпе - out или ref. Так что я его неверно интерпритировал.

http://msdn.microsoft.com/ru-ru/library/y31yhkeb.aspx

Qwertiy писал(а):Кстати, в VB.NET ByRef тоже есть, только не понятно, как его сюда прикрутить...

Суть в том, что ты в VB.NEt не можешь перегрузить функцию с одинаковыми параметрами, но разными ByRef/ByVal, т.к. идёт проверка типов, без механизма их передачи.
А в C# указатель - отдельный тип и проблем в перегрузке не возникает

Qwertiy писал(а):Да, ещё одно изврашение в голову пришло - обернуть этот класс классом на C#.

MDX морально, физически, и прогрессивно устарел, лучше от него отказаться

Хакер писал(а):Никогда не пробовал. Но это же должен быть интерпретируемый скрипт?

Искал в гугле посмотреть, что же это такое....
Но мэил ру не может не радовать :D : http://otvet.mail.ru/question/35207860/
Я так понимаю ты об этом C-like http://www.gamedev.ru/community/udk/art ... tReference?
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Что же делать с текстом?

Сообщение Хакер » 31.05.2012 (Чт) 1:36

FireFenix писал(а):Искал в гугле посмотреть, что же это такое....
Но мэил ру не может не радовать :D : http://otvet.mail.ru/question/35207860/
Я так понимаю ты об этом C-like http://www.gamedev.ru/community/udk/art ... tReference?

Примерно, но я не знаю, насколько UScript3 отличается от оного в первой версии движка (например в UT99).
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Что же делать с текстом?

Сообщение Mikle » 31.05.2012 (Чт) 12:35

человек свободно юзает DrawText без каких-то оговорок.

Может в SDK есть заплатка?
Вот рабочий без SDK пример DrawText с рефлексией:
У вас нет доступа для просмотра вложений в этом сообщении.

DrKillJoy
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 56
Зарегистрирован: 10.04.2011 (Вс) 10:06

Re: Что же делать с текстом?

Сообщение DrKillJoy » 31.05.2012 (Чт) 17:19

Может в SDK есть заплатка?
- А в каком именно SDK?
Вот рабочий без SDK пример DrawText с рефлексией:
Да, прекрасно работает... Но как-то глупо, столько возни из-за какого-то текста!

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Что же делать с текстом?

Сообщение Mikle » 01.06.2012 (Пт) 6:45

DrKillJoy писал(а):А в каком именно SDK?

В видео из поста Admiralisimysа что-то промелькнуло про SDK за 2007 год, если не ошибаюсь, подробно не рассматривал.

DrKillJoy
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 56
Зарегистрирован: 10.04.2011 (Вс) 10:06

Re: Что же делать с текстом?

Сообщение DrKillJoy » 01.06.2012 (Пт) 7:30

Может в SDK есть заплатка?
Да, так и есть... Заплатка и правда, есть! А самое обидное, что все это время она была у меня! Я просто по привычке, всегда подключал самую первую библиотеку Microsoft.DirectX.Direct3DX, версии 1.0.2902.0. Вот в ней то, и кроется ошибка! Стоило выбрать 1.0.2903.0, как все сразу прекрасно заработало! Я рад, что мы разобрались с этой проблемой!

Правда, я решил перейти на XNA, но это уже другая тема для разговора.
А, еще маленький вопросик. Я много чего прочитал про XNA, и везде описано применение с C#. Можно ли использовать XNA, вместе с VB?
Последний раз редактировалось DrKillJoy 01.06.2012 (Пт) 12:51, всего редактировалось 1 раз.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 01.06.2012 (Пт) 7:35

По идее, всё, что можно использовать с C#, можно использовать и VB.NET. Ну или почти всё :)

DrKillJoy
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 56
Зарегистрирован: 10.04.2011 (Вс) 10:06

Re: Что же делать с текстом?

Сообщение DrKillJoy » 01.06.2012 (Пт) 7:58

По идее, всё, что можно использовать с C#, можно использовать и VB.NET. Ну или почти всё
Ну тогда, круто! Точно буду переходить!

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Что же делать с текстом?

Сообщение FireFenix » 01.06.2012 (Пт) 10:26

DrKillJoy писал(а):А, еще маленький вопросик. Я много чего прочитал про XNA, и везде описано применение с C#. Можно ли использовать XNA, вместе с VB?

XNA это мульти платформенный фреймворк под .NET. C# тут таким боком, что только он есть под XBOX => если будешь кодить под платформы отличные от x86 то нада юзать C#
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

DrKillJoy
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 56
Зарегистрирован: 10.04.2011 (Вс) 10:06

Re: Что же делать с текстом?

Сообщение DrKillJoy » 01.06.2012 (Пт) 12:50

XNA это мульти платформенный фреймворк под .NET. C# тут таким боком, что только он есть под XBOX => если будешь кодить под платформы отличные от x86 то нада юзать C#
Большое спасибо! Все очень доходчиво объяснил!

hement
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 20.10.2012 (Сб) 7:45

Re: Что же делать с текстом?

Сообщение hement » 20.10.2012 (Сб) 11:38

Может кому-нибудь еще пригодится ответ с кодом. :)

Сначала добавить ссылку на Microsoft.DirectX.Direct3D (например, 1.0.2911.0).

Сначала объявить переменную:
Dim Шрифт As Microsoft.DirectX.Direct3D.Font

Потом в инициализаторе DirectX присвоить например:
Шрифт = New Microsoft.DirectX.Direct3D.Font(Device, New Drawing.Font("Microsoft Sans Serif; 8,25pt", 8, FontStyle.Bold))

Потом уже можно в Render() рисовать текст:
Шрифт.DrawText(Nothing, "Text", 0, 0, Color.Black)

Пред.

Вернуться в Мультимедиа

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

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

    TopList