C++ Вопрос Как сделать такое имгуи?

Начинающий
Статус
Оффлайн
Регистрация
20 Апр 2021
Сообщения
140
Реакции[?]
12
Поинты[?]
1K
Screenshot_5.png


upd: я не смог напастить чтото нормально и передаю идею вам давайте вместе ебанемся головой и сделаем саму меню а не вкладку конфиг
 
Последнее редактирование:
Эксперт
Статус
Оффлайн
Регистрация
17 Янв 2020
Сообщения
2,197
Реакции[?]
718
Поинты[?]
79K
Товары в продаже
1
Посмотреть вложение 285031


upd: я не смог напастить чтото нормально и передаю идею вам давайте вместе ебанемся головой и сделаем саму меню а не вкладку конфиг
Такой же уебищный ?

p.s.
buttons custom'ные(аля табы)
ico - imgui::image(), okay?
sliderfloat (x,y)
keybind (google brat pomogi yemu)
 
НЕКАСЕСТВЕНЫЙ КАД
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,416
Реакции[?]
247
Поинты[?]
4K
Пользователь
Статус
Оффлайн
Регистрация
30 Июн 2020
Сообщения
684
Реакции[?]
147
Поинты[?]
55K
делал код для своего ракообразного кента, поидеи все должно быть понятно:
```
using namespace ImGui;

fn func() {
      ImGuiWindow* window = GetCurrentWindow();

      if (window->SkipItems)
          return;

      const ImGuiContext& get_ctx = *GImGui;
      const ImGuiStyle& get_style = get_ctx.Style;
      const ImGuiID get_name_id = window->GetID(name.c_str());
      const ImVec2 get_name_size = CalcTextSize(name.c_str(), NULL, true);
      const float width = /* custom_value */;
      const float height = /* custom_value */ ;
      const ImVec2 get_cursor_position = window->DC.CursorPos;
      const ImRect select_place(get_cursor_position + ImVec2( /* get min range start from zone. Position from left side from X, position from left upper side from X. [I]/ ), get_cursor_position + ImVec2( /[/I] our max range. */ width, height));
      const ImRect absolute_position(select_place.Min /* take a left side. [I]/, /[/I] take a right side. UPD: here we can remove or add if u need call scrollbar or another elements in GUI */ select_place.Max);

      /* create item size for our elements for stop ruin another staff */
      ItemSize(absolute_position, /* custom_value [I]/ /[/I] additional size for y. which we cannot interact */);

      /* bind our size and position to our element ID */
      if (!ItemAdd(absolute_position, get_name_id, &select_place))
          return;

      /* if we create button */

      bool hold, release_on;
      bool clicked = ButtonBehavior(absolute_position, get_name_id, &hold, &release_on);

      if (clicked) {

      }

      /*
          Here we write render elements, text and another.
          Function.
          Create & holding our temp. return value and otc.
          After drawing and another u can call NewLine, Spacing, Dummy which create a new space beetwen or after elements.
      */
}
```
 
Начинающий
Статус
Оффлайн
Регистрация
20 Апр 2021
Сообщения
140
Реакции[?]
12
Поинты[?]
1K
делал код для своего ракообразного кента, поидеи все должно быть понятно:
```
using namespace ImGui;

fn func() {
      ImGuiWindow* window = GetCurrentWindow();

      if (window->SkipItems)
          return;

      const ImGuiContext& get_ctx = *GImGui;
      const ImGuiStyle& get_style = get_ctx.Style;
      const ImGuiID get_name_id = window->GetID(name.c_str());
      const ImVec2 get_name_size = CalcTextSize(name.c_str(), NULL, true);
      const float width = /* custom_value */;
      const float height = /* custom_value */ ;
      const ImVec2 get_cursor_position = window->DC.CursorPos;
      const ImRect select_place(get_cursor_position + ImVec2( /* get min range start from zone. Position from left side from X, position from left upper side from X. [I]/ ), get_cursor_position + ImVec2( /[/I] our max range. */ width, height));
      const ImRect absolute_position(select_place.Min /* take a left side. [I]/, /[/I] take a right side. UPD: here we can remove or add if u need call scrollbar or another elements in GUI */ select_place.Max);

      /* create item size for our elements for stop ruin another staff */
      ItemSize(absolute_position, /* custom_value [I]/ /[/I] additional size for y. which we cannot interact */);

      /* bind our size and position to our element ID */
      if (!ItemAdd(absolute_position, get_name_id, &select_place))
          return;

      /* if we create button */

      bool hold, release_on;
      bool clicked = ButtonBehavior(absolute_position, get_name_id, &hold, &release_on);

      if (clicked) {

      }

      /*
          Here we write render elements, text and another.
          Function.
          Create & holding our temp. return value and otc.
          After drawing and another u can call NewLine, Spacing, Dummy which create a new space beetwen or after elements.
      */
}
```
ну сорян я только умею делать функции а не меню
 
Пользователь
Статус
Оффлайн
Регистрация
30 Июн 2020
Сообщения
684
Реакции[?]
147
Поинты[?]
55K
Начинающий
Статус
Оффлайн
Регистрация
20 Апр 2021
Сообщения
140
Реакции[?]
12
Поинты[?]
1K
так это объяснения как делаются функции в меню там есть почти все что нужно 🤡
сорян бошка уже не варит ну потому что нехуй головой об стол биться получается косплей на мем ломка??? только консольные приложения делал и пастил легендвар
 
Пользователь
Статус
Оффлайн
Регистрация
30 Июн 2020
Сообщения
684
Реакции[?]
147
Поинты[?]
55K
сорян бошка уже не варит ну потому что нехуй головой об стол биться получается косплей на мем ломка??? только консольные приложения делал и пастил легендвар
короче это все есть в простом имгуи (кроме кейбиндов) поиграйся со стилями и цветами у тебя выйдет это хуевое меню
 
Начинающий
Статус
Оффлайн
Регистрация
20 Апр 2021
Сообщения
140
Реакции[?]
12
Поинты[?]
1K
короче это все есть в простом имгуи (кроме кейбиндов) поиграйся со стилями и цветами у тебя выйдет это хуевое меню
у меня проблема с реализацией slide и вот этого чуда юда:
 

Вложения

Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,970
Реакции[?]
958
Поинты[?]
19K
Сверху Снизу