Вопрос Imgui begin

https://www.youtube.com/watch?v=2ds2p3mJtXc
Начинающий
Статус
Оффлайн
Регистрация
8 Дек 2019
Сообщения
205
Реакции[?]
27
Поинты[?]
0
Как можно реализовать плавный переход между бегинами в имгуй?
 
When every god dead, I can live a normal life...
Забаненный
Статус
Оффлайн
Регистрация
9 Авг 2020
Сообщения
328
Реакции[?]
48
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Как я понял, тебе нужна анимация перехода...
Самый кринжовый способ, это сохранять значение активного таба, потом чекать изменится ли он, и если изменился, тогда апдейтить альфу через pushstyle
 
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,970
Реакции[?]
958
Поинты[?]
19K
Как можно реализовать плавный переход между бегинами в имгуй?
при смене таба модулируй ImGuiStyleVar_Alpha от 0 до 1
Код:
if (last_tab != tab || (last_tab == tab && alpha_reverse))
                {
                    if (!alpha_reverse)
                    {
                        if (modulate_alpha == 1.f)
                            alpha_reverse = true;

                        modulate_alpha = ImClamp(preview_alpha + (4.f * ImGui::GetIO().DeltaTime), 0.01f, 1.f);
                    }
                    else
                    {
                        last_tab = tab;
                        if (modulate_alpha == 0.01f)
                        {
                            alpha_reverse = false;
                        }

                        modulate_alpha = ImClamp(modulate_alpha - (2.f * ImGui::GetIO().DeltaTime), 0.01f, 1.f);
                    }
                }
                else
                    modulate_alpha = ImClamp(modulate_alpha - (4.f * ImGui::GetIO().DeltaTime), 0.0f, 1.f);
таб
if (ImGui::tab("R", "Ragebot", !tab) && last_tab == tab && !alpha_reverse )tab = 0;
переменные
Код:
static int last_tab = tab;
            static bool active_animation = false;
            static bool alpha_reverse  = false;
            static float modulate_alpha = 0.f;
и в конце концов перед чилдами ставь
ImGui::PushStyleVar(ImGuiStyleVar_Alpha, (1.f - preview_alpha) * alpha);

а после
ImGui::PщзStyleVar();
 
Сверху Снизу