![]() |
Страницы (2): [1] 2 » Показать все 22 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Ковыряюсь в вгуи (https://hlfx.ru/forum/showthread.php?threadid=3545)
Ковыряюсь в вгуи
Решил поковырять вгуи. Появился вопрос: если грузить тгашку через vgui_LoadTGA, можно потом изменять ее ширину и высоту? просто setSize - private, а другого я что-то не нашел
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
Alex_Gordon
Никак. Смотри в сторону TexturedPanel.
__________________
XaeroX, ты наверное имел в виду ImagePanel. Ну да, там у нее паблик-функция setSize. Но картинка все равно обрезается. Где я дурак в данном случае?
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
Alex_Gordon
Хм.. Может, я путаю. Значит, самому надо класс написать. Чтобы картинка растягивалась - её надо рисовать как текстуру, см. класс Panel и методы drawSetTexture и drawTexturedRect. В качестве текстуры годится Bitmap и его поле _id (тоже советую сделать подкласс).
__________________
drawTexturedRect это же ножницы, там нет методов растягивания, все без масштабирования рисуется.
marikcool отож я ему и сказал ,что надо через ОГЛ рисовать, а он ломается.
HAWK0044
В хлфх, в vgui3, есть возможность ставить произвольные растянутые бэки на панели. И емнип, я сделал это именно через эти функции:
1 | void CVgui3_BitButton :: paintBackground(void) |
2 | { |
3 | if (_pImage) |
4 | { |
5 | int r,g,b,a; |
6 | gViewPort->getTheme()->getPrimaryFontColor(_armed, r,g,b,a); |
7 | drawSetColor(r,g,b,a + (int)floor((255 - a) * (1 - _alpha * _parentalpha))); |
8 | drawSetTexture(_pImage->getTextureId()); |
9 | drawTexturedRect(1,1,_size[0]-1,_size[1]-1); |
10 | } |
11 | CVgui3_Button::paintBackground(); |
12 | } |
__________________
XaeroX ээээ... а ты думаешь ему легко будет vgui3 имплементировать?
HAWK0044
В смысле - vgui3 имплементировать? Это ж просто название библиотеки.
Но в данном случае ему незачем библиотеку писать, достаточно пару собственных классов сделать в клиентке.
__________________
ну если работает то копипаст 2 строчки и норм.
XaeroX
в первом хл вроде как просто vgui или vgui2
HAWK0044
А в хлфх - vgui3. Прошу любить и жаловать.
__________________
Боюсь, что появился еще один вопрос. Картинки, рисуемые вгуем, рисуются поверх худа. Можно ли это профиксить, и если да, то как?
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
Вриатле.
1 | void V_PostRender( void ) |
2 | { |
3 | qboolean draw_2d = false; |
4 |
5 | R_Set2DMode( true ); |
6 |
7 | if( cls.state == ca_active ) |
8 | { |
9 | SCR_TileClear(); |
10 | CL_DrawHUD( CL_ACTIVE ); |
11 | VGui_Paint(); |
12 | } |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша, ок, спасибо. Будем разные варианты пробовать.
__________________
Ха, тюремный автомобиль!!!
Ιερά λάμδα
Quisque moritur Gordon sinistram. Alex Gordon.
Временная зона GMT. Текущее время 05:01. | Страницы (2): [1] 2 » Показать все 22 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024