
29.10.2023, 18:08
|
|
Участник форума
Регистрация: 25.11.2021
Сообщений: 198
С нами:
2351419
Репутация:
48
|
|
Сообщение от Digger Man
остальной код без изменений
C++:
Код:
bool
running
=
false
;
void
gui
::
Render
(
)
noexcept
{
ImGui
::
SetNextWindowPos
(
{
0
,
0
}
)
;
ImGui
::
SetNextWindowSize
(
{
WIDTH
,
HEIGHT
}
)
;
ImGui
::
Begin
(
" "
,
&
isRunning
,
ImGuiWindowFlagsNoResize
|
ImGuiWindowFlagsNoSavedSettings
|
ImGuiWindowFlagsNoCollapse
|
ImGuiWindowFlagsNoMove
)
;
if
(
!
running
&&
ImGui
::
Button
(
"Start"
)
)
{
running
=
true
;
printf
(
"Вывод текста.\n"
)
;
}
if
(
running
&&
ImGui
::
Button
(
"Stop"
)
)
{
running
=
false
;
printf
(
"Конец вывода текста.\n"
)
;
}
if
(
running
)
// будет выводится вечно, пока running не станет false, так как меню отрисовывается каждый кадр, отсюда и проверка будет происходить каждый кадр
{
printf
(
"Текст в цикле.\n"
)
;
}
ImGui
::
End
(
)
;
ImGui
::
NewFrame
(
)
;
ImGui
::
Render
(
)
;
}
после запуска кода - меню без всего, это просто черный прямоугольник, но если я уберу строчки " ImGui::NewFrame();
ImGui::Render();" - меню уже будет с функциями, но если я нажму кнопку start - код воспроизведется как нужно, но я не могу нажать на кнопку stop. Вот скриншот того что происходит после кнопки start

|
|
|