HLFX.Ru Forum Страницы (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)


Отправлено Alex_Gordon 21-07-2012 в 19:08:

Ковыряюсь в вгуи

Решил поковырять вгуи. Появился вопрос: если грузить тгашку через vgui_LoadTGA, можно потом изменять ее ширину и высоту? просто setSize - private, а другого я что-то не нашел

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено XaeroX 21-07-2012 в 19:29:

Alex_Gordon
Никак. Смотри в сторону TexturedPanel.

__________________

xaerox on Vivino


Отправлено Alex_Gordon 22-07-2012 в 04:50:

XaeroX, ты наверное имел в виду ImagePanel. Ну да, там у нее паблик-функция setSize. Но картинка все равно обрезается. Где я дурак в данном случае?

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено XaeroX 22-07-2012 в 07:56:

Alex_Gordon
Хм.. Может, я путаю. Значит, самому надо класс написать. Чтобы картинка растягивалась - её надо рисовать как текстуру, см. класс Panel и методы drawSetTexture и drawTexturedRect. В качестве текстуры годится Bitmap и его поле _id (тоже советую сделать подкласс).

__________________

xaerox on Vivino


Отправлено marikcool 23-07-2012 в 04:26:

drawTexturedRect это же ножницы, там нет методов растягивания, все без масштабирования рисуется.


Отправлено HAWK0044 23-07-2012 в 10:40:

marikcool отож я ему и сказал ,что надо через ОГЛ рисовать, а он ломается.


Отправлено XaeroX 23-07-2012 в 13:34:

HAWK0044
В хлфх, в vgui3, есть возможность ставить произвольные растянутые бэки на панели. И емнип, я сделал это именно через эти функции:

C++ Source Code:
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 on Vivino


Отправлено HAWK0044 23-07-2012 в 19:26:

XaeroX ээээ... а ты думаешь ему легко будет vgui3 имплементировать?


Отправлено XaeroX 23-07-2012 в 19:35:

HAWK0044
В смысле - vgui3 имплементировать? Это ж просто название библиотеки.
Но в данном случае ему незачем библиотеку писать, достаточно пару собственных классов сделать в клиентке.

__________________

xaerox on Vivino


Отправлено marikcool 24-07-2012 в 08:30:

ну если работает то копипаст 2 строчки и норм.


Отправлено HAWK0044 24-07-2012 в 13:53:

XaeroX
в первом хл вроде как просто vgui или vgui2


Отправлено XaeroX 24-07-2012 в 14:05:

HAWK0044
А в хлфх - vgui3. Прошу любить и жаловать.

__________________

xaerox on Vivino


Отправлено Alex_Gordon 29-07-2012 в 12:13:

Боюсь, что появился еще один вопрос. Картинки, рисуемые вгуем, рисуются поверх худа. Можно ли это профиксить, и если да, то как?

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.



Отправлено Дядя Миша 29-07-2012 в 13:40:

Вриатле.

C++ Source Code:
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'


Отправлено Alex_Gordon 29-07-2012 в 15:18:

Дядя Миша, ок, спасибо. Будем разные варианты пробовать.

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

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