提示コードですがSetNextWindowPos
は次のウインドウの座標を決める関数ですがもしこの同じコンストラクタの別のクラスで二つのコンストラクタが実行された場合最初ものが最後のものに書き換わるので結局最後の指定がすべてのウインドウに反映されてしまい。また描画ループに記述するとウインドウを移動できなくなるのですがこれはどう対処したらいいのでしょうか?
#include "FrameWork/header/FrameWork.hpp" #include "Layer.hpp" #include "Imgui/imgui.h" Layer::Layer() { ImGui::SetNextWindowPos(ImVec2(100, 100)); ImGui::SetNextWindowSize(ImVec2(100, 100)); } void Layer::Update() { } void Layer::Renderer(glm::mat4 view)const { ImGui::SetNextWindowPos(ImVec2(20, 20)); ImGui::SetNextWindowSize(ImVec2(200, 300)); ImGui::Begin("Layer", nullptr, ImGuiWindowFlags_MenuBar); if (ImGui::BeginMenuBar()) { if (ImGui::BeginMenu("File")) { if (ImGui::MenuItem("Add", "Ctrl+O")) { } if (ImGui::MenuItem("New", "Ctrl+S")) { if (ImGui::BeginPopupModal("Speed Adjustment")) { } ImGui::EndPopup(); } ImGui::EndMenu(); } ImGui::EndMenuBar(); } ImGui::End(); } Layer::~Layer() { }
あなたの回答
tips
プレビュー