[ImGui] Help

Начинающий
Статус
Оффлайн
Регистрация
4 Янв 2019
Сообщения
14
Реакции[?]
0
Поинты[?]
0
My custom hud is fine with clamping to the left side but when im changing my resolution my watermark can't clamp to the right side? and i cant really see what the big difference in my 2 code is?


My HUD Code:

[CODE = cpp] ImGuiIO & io = ImGui :: GetIO ();
ImGuiStyle & style = ImGui :: GetStyle ();
int width = io.DisplaySize.x;

int side_pos = 5;
int up_down_pos = 5;
ImGui :: SetNextWindowPos (ImVec2 (side_pos, up_down_pos));
ImGui :: SetNextWindowSize (ImVec2 (200, 20));
ImGui :: Begin ("Hud", nullptr, pWatermark);
{
ImVec2 p = ImGui :: GetCursorScreenPos ();
ImGui :: SetCursorPosY (ImGui :: GetWindowHeight () / 2 - py / 2);

if (! localPlayer ||! localPlayer-> isAlive ())
return;

const auto health = localPlayer-> health ();
const auto armor = localPlayer-> armor ();

ImGui :: Text ("HP:% 02d", health);
SSameline ();
ImGui :: Text ("Armor:% 02d", armor);

} ImGui :: End (); [/ CODE]


Watermark:


[CODE = cpp] ImGuiIO & io = ImGui :: GetIO ();
ImGuiStyle & style = ImGui :: GetStyle ();
int width = io.DisplaySize.x;


int side_pos = 1330;
int up_down_pos = 5;
ImGui :: SetNextWindowPos (ImVec2 (side_pos, up_down_pos));
ImGui :: SetNextWindowSize (ImVec2 (255, 20));
ImGui :: Begin ("pMark", nullptr, pWatermark);
{
ImVec2 p = ImGui :: GetCursorScreenPos ();
ImGui :: SetCursorPosY (ImGui :: GetWindowHeight () / 2 - py / 2);



} ImGui :: End (); [/ CODE]

 
Бульдозер
Эксперт
Статус
Оффлайн
Регистрация
18 Июл 2019
Сообщения
1,231
Реакции[?]
508
Поинты[?]
2K
Короче я нихуя не смотрел и не читал но судя по видео ты рендеришь через x и y. Что бы такой хуйни не было - рендери через ширину и высоту ( getscreensize )
Ну думаю ты понял
 
Бульдозер
Эксперт
Статус
Оффлайн
Регистрация
18 Июл 2019
Сообщения
1,231
Реакции[?]
508
Поинты[?]
2K
К примеру у тебя монитор 1920х1080 и ты хочешь рендерить точку посередине.
Ты рендеришь на x = 960, y = 540;
Как бы все правильно, но на другом монике к примеру 1600х900 - оно будет рендериться в жопе
Что бы такого не было рендери через
C++:
getscreensize(w,h);
x = w/2;
y = h/2;
(взял как пример)
 
Сверху Снизу