-
Автор темы
- #1
типо чтобы 10 секунд была анимация и после них лоудер закрылся как это сделать
float timer = 0.f;
if (timer < 1000.f) {
timer += 1.f;
// все действия
}
std::this_thread::sleep_for(std::chrono::seconds(5));
если я правильно понял то он просит "слип без слипа", просто задержку в действии перед тем как перейти к следующему этапу без заморозки рендера всего потока (насколько я понял он работает в ImGui)std::this_thread::sleep_for(std::chrono::seconds(5));
какая проблема может возникнуть если работать с делеем в отдельном потоке?если я правильно понял то он просит "слип без слипа", просто задержку в действии перед тем как перейти к следующему этапу без заморозки рендера всего потока (насколько я понял он работает в ImGui)
никакая, но нигде ничего не упоминалось про создание дополнительного потока.какая проблема может возникнуть если работать с делеем в отдельном потоке?
как вариант
C++:float timer = 0.f; if (timer < 1000.f) { timer += 1.f; // все действия }
float timer = 0.f;
if (timer < 10000.f) {
timer += 1.f;
exit(-1);
}
если ты пишешь какой-либо лоадер на плюсах, то должен понимать хотя-бы основы.вот так?Код:float timer = 0.f; if (timer < 10000.f) { timer += 1.f; exit(-1); }
if (timer >= 9999.f) {
exit(0);
}
// пример таймера Spinner'a для ImGui
// анимация спиннера будет длиться 5 секунд
// инициализация функции SetTimer:
bool ImGui::SetTimer(float delay) {
static double end_time = ImGui::GetTime() + delay;
if (ImGui::GetTime() <= end_time) {
return true;
}
else return false;
}
// объявление:
ImGui::Spinner("##preparing", 15.f, 3, ImGui::GetColorU32(ImGuiCol_CheckMark));
if (!ImGui::SetTimer(5.f)) {
// твой код дальше
}
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz