Přejít na hlavní obsah

Jak vytvořit nabídku pomocí imgui

  • Vilém Slavíková
  • Triky

ImGui (nebo Immediate Mode GUI) je nástroj, který vývojářům umožňuje vytvářet jednoduchá a efektivní uživatelská rozhraní pro jejich aplikace. To je užitečné zejména pro herní vývojáře, kteří chtějí pro svou hru vytvořit intuitivní nabídku. V této příručce se podíváme na kroky k vytvoření nabídky imgui.

Prvním krokem je připojení knihovny imgui k vašemu projektu. Nejnovější verzi imgui si můžete stáhnout z oficiálních stránek. Po stažení a rozbalení knihovny musíte zkopírovat záhlaví do projektu a přidat příslušné cesty do nastavení kompilátoru.

Poté byste měli vytvořit a nakonfigurovat okno imgui. To lze provést vyvoláním funkce ImGui::CreateContext() a při zachování vráceného ukazatele. Poté můžete upravit nastavení okna, jako je velikost, název a styl. Nyní jste připraveni přidat své první položky do nabídky.

Nejjednodušší způsob, jak přidat položky do nabídky imgui, je použít funkci ImGui::Text(). Tuto funkci můžete vyvolat přidáním textu nebo smíšených řádků do nabídky. Můžete také použít funkce ImGui::Button() a ImGui::Checkbox() Chcete-li přidat tlačítka a zaškrtávací políčka. Povolejte tyto funkce v cyklu Vykreslování aplikace a zobrazte nabídku na obrazovce.

Nyní máte základní porozumění tomu, jak vytvořit nabídku imgui ve vaší aplikaci. Neváhejte experimentovat a přidat nové prvky pro zlepšení uživatelského zážitku. Postupně budete moci vytvářet složitější a interaktivnější nabídky pomocí imgui.

Přípravné práce před vytvořením imgui menu

Než začnete vytvářet nabídku imgui, je třeba provést několik přípravných prací:

1. Nainstalujte knihovnu ImGui do svého projektu. ImGui je multiplatformní Knihovna pro vytváření grafického rozhraní, která je navržena tak, aby byla jednoduchá a rychlá. Knihovnu ImGui najdete na oficiálních stránkách.

2. Vytvořte okno aplikace. ImGui používá okno aplikace jako hlavní kontejner pro umístění prvků rozhraní. Musíte vytvořit okno pomocí knihovny nebo rámce, který používáte k vývoji.

3. Inicializujte ImGui. Po vytvoření okna aplikace je nutné imgui proinicializovat. To lze provést výzvou k příslušné funkci knihovny ImGui.

4. Umístěte prvky rozhraní. Po inicializaci ImGui můžete začít umisťovat prvky rozhraní do okna aplikace. Prvky rozhraní mohou být tlačítka, vstupní pole, posuvníky atd. můžete umístit prvky rozhraní podle svých potřeb a designových preferencí.

5. Zpracujte události uživatelské interakce. ImGui poskytuje sadu funkcí pro zpracování uživatelské interakce. Události, jako jsou kliknutí, přetahování a stisky kláves, můžete zpracovat a podle toho na ně reagovat. Můžete například reagovat na stisknutí tlačítka provedením určité akce.

6. Zobrazte prvky rozhraní. Jakmile vložíte prvky rozhraní a zpracujete uživatelskou interakci, musíte je zobrazit na obrazovce. Můžete to provést vyvoláním funkce zobrazení ImGui v okně aplikace.

Podle těchto kroků budete moci připravit pracovní prostředí pro vytvoření nabídky imgui a začít vytvářet rozhraní aplikace.

Instalace a konfigurace potřebných nástrojů

Než začnete vytvářet nabídku imgui, musíte nainstalovat a nakonfigurovat potřebné nástroje.

1. Nejprve musíte nainstalovat knihovnu imgui. Chcete-li to provést, musíte si stáhnout původní soubory nebo naklonovat úložiště z GitHubu. Na oficiálních stránkách imgui najdete podrobné pokyny k instalaci a používání knihovny.

2. Po instalaci imgui musíte do svého projektu připojit knihovnu. Chcete-li to provést, musíte přidat cestu ke složce s hlavičkovými soubory imgui do nastavení kompilátoru a linkovače vašeho projektu.

3. Po připojení knihovny imgui je nutné přidat soubory imgui_impl_glfw.h a imgui_impl_glfw.cpp, které umožňují integraci imgui s knihovnou GLFW. Soubory lze nalézt v úložišti imgui na Githubu.

4. Je také nutné nainstalovat knihovnu GLFW, která vám umožní vytvářet okna a zpracovávat události uživatelského vstupu. Chcete-li nainstalovat GLFW, můžete použít správce balíčků operačního systému nebo si stáhnout původní soubory a zkompilovat knihovnu sami.

5. Po instalaci GLFW je třeba přidat cestu ke složce s hlavičkovými soubory GLFW do nastavení kompilátoru a linkovače vašeho projektu.

6. Nakonec je třeba do svého projektu přidat Inicializační kód imgui a GLFW. V tomto kódu musíte vytvořit okno pomocí GLFW, inicializovat imgui, upravit styl nabídky a zpracovat události uživatelského vstupu.

Po dokončení všech těchto kroků budete připraveni začít vytvářet nabídku imgui pro vaši aplikaci. Nyní můžete přidat své vlastní položky nabídek, přizpůsobit jejich vzhled a implementovat zpracování vlastního vstupu.

Vytvoření záhlaví a hlavního okna

Před vytvořením nabídky pomocí imgui je třeba vytvořit hlavičku a hlavní okno programu.

Pro začátek připojíme knihovnu imgui a potřebné záhlaví:

#include #include #include

Dále inicializujeme knihovnu glfw a vytvoříme hlavní okno:

glfwInit();GLFWwindow* window = glfwCreateWindow(800, 600, "ImGui Menu", NULL, NULL);glfwMakeContextCurrent(window);

Nyní můžeme přenést kontext okna do imgui a inicializovat ho:

ImGui::CreateContext();ImGui::StyleColorsDark();ImGui_ImplGlfw_InitForOpenGL(window, true);ImGui_ImplOpenGL3_Init("#version 330 core");

Nakonec v hlavním cyklu programu nakreslíme hlavní okno a aktualizujeme jeho obsah:

while (!glfwWindowShouldClose(window))

Nyní máme hlavičku a hlavní okno a jsme připraveni začít vytvářet nabídku pomocí imgui.

Přidání tlačítek a jejich funkčnosti

Jakmile vytvoříme naši nabídku pomocí knihovny imgui, můžeme přidat tlačítka a určit jejich funkčnost.

Chcete-li přidat tlačítko, musíte použít funkci ImGui::Button . Přijímá jednu možnost-název tlačítka.

if (ImGui:: Button ("stiskni mě"))

// Činnosti prováděné stisknutím tlačítka

Uvnitř bloku podmínky, které se provádějí stisknutím tlačítka, můžeme provádět všechny činnosti, které potřebujeme. Můžete například změnit některé hodnoty, vyvolat funkci atd.

Kromě toho lze u tlačítek změnit styl pomocí funkce ImGui:: PushStyleColor . Má dva parametry-typ stylu a jeho význam. Pro návrat ke standardnímu stylu se používá funkce ImGui:: PopStyleColor .

ImGui::PushStyleColor(ImGuiCol_Button, (ImVec4)ImColor::HSV(0.6f, 0.6f, 0.6f));

if (ImGui:: Button ("stiskni mě"))

// Činnosti prováděné stisknutím tlačítka

Tímto způsobem můžeme přidat tlačítka do naší nabídky imgui a definovat jejich funkčnost a také jim nastavit styl pomocí příslušných funkcí.

ImGui::ButtonFunkce pro přidání tlačítka.
ImGui::PushStyleColorFunkce pro změnu stylu tlačítka.
ImGui::PopStyleColorFunkce pro návrat ke standardnímu stylu tlačítka.