C++ Закрепить ImGui Fov

Пользователь
Пользователь
Статус
Оффлайн
Регистрация
5 Июл 2022
Сообщения
1,001
Реакции
86
Добрый день. Такая проблема, я добавил рисовку FOV. Но при закрытии меню, он тоже прячется. Так вот, пробовал выносить за условия открытия меню, но тогда вообще не было его. Как можно сделать так, что бы он не пропадал после закрытия меню?
C++:
Expand Collapse Copy
ImGui::GetForegroundDrawList()->AddCircle(ImVec2(1920 / 2, 1080 / 2), 255, ImColor(255.f, 255.f, 255.f, 255.f), 100, 1.0f);
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Создай отдельную сцену для рисовки фова, с флагами нужными и все

p.s кое кто просил больше не задавать тупых вопросов на этом форуме
 
Добрый день. Такая проблема, я добавил рисовку FOV. Но при закрытии меню, он тоже прячется. Так вот, пробовал выносить за условия открытия меню, но тогда вообще не было его. Как можно сделать так, что бы он не пропадал после закрытия меню?
C++:
Expand Collapse Copy
ImGui::GetForegroundDrawList()->AddCircle(ImVec2(1920 / 2, 1080 / 2), 255, ImColor(255.f, 255.f, 255.f, 255.f), 100, 1.0f);
drawlist поменяй ...
Создай отдельную сцену для рисовки фова, с флагами нужными и все

p.s кое кто просил больше не задавать тупых вопросов на этом форуме
там лист изменить
 
там надо рендерить не в if(menu)
так ну если отталкиваться от его сообщений, он сказал что уже так делал
Так вот, пробовал выносить за условия открытия меню, но тогда вообще не было его
C++:
Expand Collapse Copy
ImGui::GetForegroundDrawList()->AddCircle(ImVec2(1920 / 2, 1080 / 2), 255, ImColor(255.f, 255.f, 255.f, 255.f), 100, 1.0f);
 
Если в твоём сурсу есть визуалы которые работают вне меню и после его закрытия тоже, то поищи где именно они отрисовываются и вставь туда, но с какой-то долей вероятности придётся это делать не на имгуи.
 
Сделал все как вы сказали, но появилась проблема. Фов не реагирует на чек бокс, то есть если изначально значение тру, то будет рендерить, если фолс, то не рендерит. Просто не реагирует на чек бокс
2023-01-29_00-30-41.png

C++:
Expand Collapse Copy
void sdifhgsdifhu() {
    if (fover)
    {
        ImGui::Begin("##stfuffdfs", nullptr, ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoCollapse |
            ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoSavedSettings);
        auto draw = ImGui::GetBackgroundDrawList();
        ImGui::GetBackgroundDrawList()->AddCircle(ImVec2(1920 / 2, 1080 / 2), 200, IM_COL32(255, 0, 0, 255), 100, 1.0f);;
        ImGui::End();

    }
}
Код:
Expand Collapse Copy
 ImGui::NewFrame();
    const auto& displaySize = ImGui::GetIO().DisplaySize;
    sdifhgsdifhu();
    ImGui::EndFrame();
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сделал все как вы сказали, но появилась проблема. Фов не реагирует на чек бокс, то есть если изначально значение тру, то будет рендерить, если фолс, то не рендерит. Просто не реагирует на чек бокс Посмотреть вложение 236686
C++:
Expand Collapse Copy
void sdifhgsdifhu() {
    if (fover)
    {
        ImGui::Begin("##stfuffdfs"
           

    }

[/QUOTE]
c таким кодом иди нахуй
 
c таким кодом иди нахуй
C++:
Expand Collapse Copy
void DrawingFov() {
    if (fover)
    {
        ImGui::GetBackgroundDrawList()->AddCircle(ImVec2(1920 / 2, 1080 / 2), 200, IM_COL32(255, 0, 0, 255), 100, 1.0f);
    }
}
void Render::renderFrame()
{
    ImGui::NewFrame();
    const auto& displaySize = ImGui::GetIO().DisplaySize;
    if (displaySize.x > 0.0f && displaySize.y > 0.0f) {
            DrawingFov();
    }
    ImGui::EndFrame();
    ImGui::Render();
}
лучше?
 
C++:
Expand Collapse Copy
void DrawingFov() {
    if (fover)
    {
        ImGui::GetBackgroundDrawList()->AddCircle(ImVec2(1920 / 2, 1080 / 2), 200, IM_COL32(255, 0, 0, 255), 100, 1.0f);
    }
}
void Render::renderFrame()
{
    ImGui::NewFrame();
    const auto& displaySize = ImGui::GetIO().DisplaySize;
    if (displaySize.x > 0.0f && displaySize.y > 0.0f) {
            DrawingFov();
    }
    ImGui::EndFrame();
    ImGui::Render();
}
лучше?
displaySize всегда будет больше 0, лишняя проверка и лишняя трата времени на проверку аргументов, не лучше :roflanBuldiga:
 
Последнее редактирование:
C++:
Expand Collapse Copy
ImGui::PushStyleColor( ImGuiCol_WindowBg, ImVec4( ) );
ImGui::PushStyleVar( ImGuiStyleVar_WindowBorderSize, 0 );
ImGui::PushStyleVar( ImGuiStyleVar_WindowPadding, ImVec2( ) );

ImGui::SetNextWindowPos( ImVec2( ), ImGuiCond_Always );
ImGui::SetNextWindowSize( ImGui::GetIO( ).DisplaySize, ImGuiCond_Always );

ImGui::Begin( "##renderscene", nullptr, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoInputs | ImGuiWindowFlags_NoFocusOnAppearing );

//  ImGui::GetCurrentWindow()->DrawList->AddCircle(ImVec2(1920 / 2, 1080 / 2), 200, IM_COL32(255, 0, 0, 255), 100, 1.0f);


ImGui::GetCurrentWindow( )->DrawList->PushClipRectFullScreen( );
ImGui::End( );
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
какой же пиздец происходит в этой теме
 
я привел пример сути, как можно сделать, чтобы работало. так-то такую проверку можно хоть по нажатию на текст сделать.
пиздец.... Я же написал про чек бокс
 
Назад
Сверху Снизу