Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Как добавить чекбокс в имгуи?

  • Автор темы Автор темы kesker
  • Дата начала Дата начала
C++:
Expand Collapse Copy
ImGui::Checkbox(const char* label, bool* v)
    //или
ImGui::Checkbox("Название", значение);
//так как это bool, то значение может быть только true/false, ну или 1/0, как тебе удобнее
 
C++:
Expand Collapse Copy
ImGui::Checkbox(const char* label, bool* v)
    //или
ImGui::Checkbox("Название", значение);
//так как это bool, то значение может быть только true/false, ну или 1/0, как тебе удобнее
Исправь "значение" на "ссылку на значение"!!!:coldsideRage::coldsideRage::coldsideRage:
 
Исправь "значение" на "ссылку на значение"!!!:coldsideRage::coldsideRage::coldsideRage:

C++:
Expand Collapse Copy
ImGui::Checkbox(const char* label, bool* v)
    //или
ImGui::Checkbox("Название", значение);
//так как это bool, то значение может быть только true/false, ну или 1/0, как тебе удобнее
ссылка на значение, это ссылка на функцию, верно?
 
ссылка на значение, это ссылка на функцию, верно?
Как все запущено...
Представь у тебя есть bool yaUmeuPastit = false;
Если ты вставишь в код yaUmeuPastit, то вместо этого программа будет видеть значение true/false, в зависимости от текущего значения переменной yaUmeuPastit.
Если ты вставишь в код &yaUmeuPastit, то вместо этого программа будет видеть ссылку на эту переменную в памяти.
Что бы было понятнее, если у тебя в ящике лежит шарик, то цвет шарика - это значение, а номер ящика - ссылка на значение(не совсем так, но как мог понятный пример привел).
ImGui хочет видеть именно ссылку на значение aka номер ящика, чтобы когда ты кликал по чекбоксу он мог поменять значение по ссылке. Возвращаясь к шарам и ящикам: ты не можешь перекрасить шар, зная только его текущий цвет, тебе надо знать в каком ящике он лежит. А зная в каком ящике он лежит, ты можешь как узнать текущий цвет, так и поменять его.
Поэтому правильно писать не ImGui::Checkbox("Mamkin Paster", yaUmeuPastit);, а ImGui::Checkbox("Mamkin Paster", &yaUmeuPastit);
Надеюсь понятно объяснил
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу