Вопрос Как сделать анимацию вывода текста в консоль? И можно ли это вообще сделать?

  • Автор темы Автор темы cazzual
  • Дата начала Дата начала
already
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
381
Реакции
42
Решено :)
-------------------------

Например есть "Hello". Хотелось бы, что бы он не просто вываливался целым текстом, а по одной букве с задержкой к примеру в пол секунды
Так выглядит слишком крупно и неудобно:
Код:
Expand Collapse Copy
    std::cout << "H";
    Sleep(500);
    std::cout << "e";
    Sleep(500);
    std::cout << "l";
    Sleep(500);
    std::cout << "l";
    Sleep(500);
    std::cout << "o";
Можно ли по другому сделать?
Полазил немного по форумам, находил слегка другое (Мб слепой) :FeelsBadMan:
с++ ес шо
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Как вариант

C++:
Expand Collapse Copy
static int count = 0;
static std::string text = "aye";
if (++count > 10) {
std::rotate(text.begin(), text.begin() + 1, text.end());
// при помощи SetConsoleCursorPosition можешь менять значение определенной строки на text
count = 0
}
 
Как вариант

C++:
Expand Collapse Copy
static int count = 0;
static std::string text = "aye";
if (++count > 10) {
std::rotate(text.begin(), text.begin() + 1, text.end());
// при помощи SetConsoleCursorPosition можешь менять значение определенной строки на text
count = 0
}
Ничего не выводит вообще) Либо выводит без анимации
 
Например есть "Hello". Хотелось бы, что бы он не просто вываливался целым текстом, а по одной букве с задержкой к примеру в пол секунды
Так выглядит слишком крупно и неудобно:
Код:
Expand Collapse Copy
    std::cout << "H";
    Sleep(500);
    std::cout << "e";
    Sleep(500);
    std::cout << "l";
    Sleep(500);
    std::cout << "l";
    Sleep(500);
    std::cout << "o";
Можно ли по другому сделать?
Полазил немного по форумам, находил слегка другое (Мб слепой) :FeelsBadMan:
с++ ес шо
C++:
Expand Collapse Copy
std::string word = "hello";

for (auto letter : word) {
    std::cout << letter;
    std::this_thread::sleep_for(0.5s);
}
Код:
Expand Collapse Copy
    std::string Hello = "Hello";
    for (int i = 0; i < Hello.length(); i++) {
        std::cout << Hello[i];
        Sleep(500);
    }
зачем так оверкодить
 
Всем спасибо за помощь! Вопрос решён:seemsgood:
 
Как способ можно использовать библиотеку
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
:
Код:
Expand Collapse Copy
std::string word = "hello";

for (auto letter : word) {
    std::cout << letter;
    std::this_thread::sleep_for(0.5s);
}
1656521861851.png

подскажи как исправить
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу