HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нуб вопросы Superuser8
Тем других нубов мне мало
Страницы (5): « 1 [2] 3 4 5 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
***FantoM***
Житель форума

Дата регистрации: Nov 2014
Проживает: Да
Сообщений: 392

Рейтинг



Superuser8
как было ?

Добавлено 24-03-2015 в 05:26:

если да то вот



if (gHUD.m_iWeaponBits & (1<<(WEAPON_SUIT)))
{
HealthWidth = gHUD.GetSpriteRect(gHUD.m_HUD_number_0).right - gHUD.GetSpriteRect(gHUD.m_HUD_number_0).left;
int CrossWidth = gHUD.GetSpriteRect(m_HUD_cross).right - gHUD.GetSpriteRect(m_HUD_cross).left;

y = ScreenHeight - gHUD.m_iFontHeight - gHUD.m_iFontHeight / 2;
x = CrossWidth /2;

SPR_Set(gHUD.GetSprite(m_HUD_cross), r, g, b);
SPR_DrawAdditive(0, x, y, &gHUD.GetSpriteRect(m_HUD_cross));

x = CrossWidth + HealthWidth / 2;

x = gHUD.DrawHudNumber(x, y, DHN_3DIGITS | DHN_DRAWZERO, m_iHealth, r, g, b);

x += HealthWidth/2;

int iHeight = gHUD.m_iFontHeight;
int iWidth = HealthWidth/10;
FillRGBA(x, y, iWidth, iHeight, 255, 160, 0, a);
}

Сообщить модератору | | IP: Записан
Сообщение: 144758

Старое сообщение 23-03-2015 23:26
- За что?
Superuser8
Частый гость

Дата регистрации: Mar 2015
Проживает: Тюмень
Сообщений: 84
Возраст: 28

Рейтинг



***FantoM*** спасибо конечно, но оригиналы исходников есть и у меня
Меня больше интересуют ошибки в моём коде

Сообщить модератору | | IP: Записан
Сообщение: 144759

Старое сообщение 23-03-2015 23:30
- За что?
***FantoM***
Житель форума

Дата регистрации: Nov 2014
Проживает: Да
Сообщений: 392

Рейтинг



Superuser8
сделай как в Paranoia

Сообщить модератору | | IP: Записан
Сообщение: 144761

Старое сообщение 24-03-2015 00:04
- За что?
Superuser8
Частый гость

Дата регистрации: Mar 2015
Проживает: Тюмень
Сообщений: 84
Возраст: 28

Рейтинг



***FantoM*** что сделать?

Сообщить модератору | | IP: Записан
Сообщение: 144762

Старое сообщение 24-03-2015 00:10
- За что?
***FantoM***
Житель форума

Дата регистрации: Nov 2014
Проживает: Да
Сообщений: 392

Рейтинг



броню и жизни как в Paranoia

Отредактировано ***FantoM*** 24-03-2015 в 01:23

Сообщить модератору | | IP: Записан
Сообщение: 144763

Старое сообщение 24-03-2015 01:12
- За что?
Superuser8
Частый гость

Дата регистрации: Mar 2015
Проживает: Тюмень
Сообщений: 84
Возраст: 28

Рейтинг



***FantoM*** зачем мне делать броню и жизни как в Paranoia?
Меня стандартный hud устраивает

Сообщить модератору | | IP: Записан
Сообщение: 144766

Старое сообщение 24-03-2015 04:42
- За что?
***FantoM***
Житель форума

Дата регистрации: Nov 2014
Проживает: Да
Сообщений: 392

Рейтинг



Цитата:
Superuser8 писал:
Меня больше интересуют ошибки в моём коде

какие ошибки ?

Сообщить модератору | | IP: Записан
Сообщение: 144767

Старое сообщение 24-03-2015 04:48
- За что?
Superuser8
Частый гость

Дата регистрации: Mar 2015
Проживает: Тюмень
Сообщений: 84
Возраст: 28

Рейтинг



Почему hud на разных разрешениях ведёт себя по разному? И можно ли это исправить?
P.S на разрешении 640x480 элементы hud находятся в правильной позиции
Хочу чтобы и на остальных разрешениях было так же

Сообщить модератору | | IP: Записан
Сообщение: 144796

Старое сообщение 24-03-2015 15:04
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34568
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Потому что спрайты не масштабируются под разрешение (ограничение софтварного рендера).

__________________

Сообщить модератору | | IP: Записан
Сообщение: 144797

Старое сообщение 24-03-2015 15:09
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Superuser8 писал:
Почему hud на разных разрешениях ведёт себя по разному?

XaeroX ответил на этот вопрос. Есть два (а может три) варианта решения. Первый лёгкий и частично исправляет ситуацию, а второй сложный, но HUD будет на всех разрешениях одинаковый.
1. Использовать ScreenWidth/ScreenHeight для указания координат и размеров. Элементы худа не будут сильно съезжать со своих позиций на разных разрешениях, но спрайты всё равно не масштабируются.
2. Сделать худ на VGUI, как в паранойе. Придётся нарисовать ТГА-картинки разного размера для нескольких базовых разрешений, но зато всё будет выглядеть одинаково хоть при 640x480, хоть при 1920x1080.
3. [просто предположение] Написать функцию рисования спрайтов с масштабированием (в зависимости от разрешения), основываясь на TriAPI. В этом случае я бы сначала перерисовал спрайты покрупнее, чтобы они не растягивались до ужасных пикселей на высоких разрешениях. А масштабирование для уменьшения их при более низком разрешении будет выглядеть не так убого.

Сообщить модератору | | IP: Записан
Сообщение: 144807

Старое сообщение 24-03-2015 18:12
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34568
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Ku2zoff
Вариант 2 легко распространяется на вариант 1 - вместо тга-картинок рисуем спрайты под каждое разрешение. И заодно с софтваром прекрасно совместимо.
А п.3 с софтваром не совместим категорически - там не работает триапи в 2д (столкнулся с этим, когда делал всплывающие цифры очков в хеткрап френзе).

__________________

Сообщить модератору | | IP: Записан
Сообщение: 144818

Старое сообщение 24-03-2015 18:56
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



XaeroX про спрайты для каждого разрешения правда не подумал...
А пункт 3 мне всё-таки более симпатичен. Я сам в софтваре не играю, и не думаю, что играющих в нём большой процент. В конце концов, можно для софтвара сделать хаки. Чтобы элементы не съезжали и не перекрывали друг друга.

Отредактировано Ku2zoff 25-03-2015 в 03:04

Сообщить модератору | | IP: Записан
Сообщение: 144847

Старое сообщение 25-03-2015 02:56
- За что?
Superuser8
Частый гость

Дата регистрации: Mar 2015
Проживает: Тюмень
Сообщений: 84
Возраст: 28

Рейтинг



Господа! Чем отличается такая конструкция

C++ Source Code:
1
switch ( RANDOM_LONG( 0, 1 ) )
2
{
3
case 0:
4
    iAnim = MP5_LONGIDLE;
5
  break;
6
 
7
default:
8
  case 1:
9
      iAnim = MP5_IDLE1;
10
    break;
11
  }


От такой?
C++ Source Code:
1
if (flRand <= 0.5)
2
{
3
  iAnim = PYTHON_IDLE1;
4
  m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + (70.0/30.0);
5
}
6
else if (flRand <= 0.7)
7
{
8
  iAnim = PYTHON_IDLE2;
9
  m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + (60.0/30.0);
10
}
11
else if (flRand <= 0.9)
12
{
13
  iAnim = PYTHON_IDLE3;
14
  m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + (88.0/30.0);
15
}
16
else
17
{
18
  iAnim = PYTHON_FIDGET;
19
  m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + (170.0/30.0);
20
}


ведь по сути и там и там выбор idle анимации

Сообщить модератору | | IP: Записан
Сообщение: 144919

Старое сообщение 26-03-2015 10:17
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Superuser8 во второй конструкции тупо больше анимаций. Первый вариант предпочтительнее, если выбор делается из 2-3х анимаций, а второй - когда из большего количества.

Сообщить модератору | | IP: Записан
Сообщение: 144920

Старое сообщение 26-03-2015 10:50
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34568
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Superuser8 отличие в том, что в операторе switch может быть только целочисленное выражение, а во втором случае float.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 144921

Старое сообщение 26-03-2015 11:57
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 22:04. Новая тема    Ответить
Страницы (5): « 1 [2] 3 4 5 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нуб вопросы Superuser8
Тем других нубов мне мало
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024