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