Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для dimakozyr
162 / 29 / 3
Регистрация: 17.08.2013
Сообщений: 560

SDL Отображение текста на экране

10.10.2013, 11:11. Показов 1843. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вывожу на экран текст формата *.ttf c помощью функции TTF_Render
Эта функция может выводить только текст, а вот как вывести значение переменной?

// *.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct C_LoadImages {
    void ttfInit();
    inline void ttfQuit() {
        TTF_CloseFont(font);
        TTF_Quit();
    }
    TTF_Font* font;
    SDL_Color textColor;
 
    SDL_Surface* currentCounterSurface;
        int currentScore;
};

// *.cpp
C++
1
2
3
4
5
6
7
void C_LoadImages::ttfInit() {
    TTF_Init();
    font = TTF_OpenFont("lazy.ttf", 40);
    textColor = {255, 255, 255};
        // Как здесь вместо "0" вывести значение переменной "currentScore"?
    currentCounterSurface = TTF_RenderText_Solid(font, "Score: 0", textColor);
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.10.2013, 11:11
Ответы с готовыми решениями:

SDL ввод текста с клавиатуры и запись в массив
Мой код внизу он неправильный, но работает text="a",text="b" , text="c" и так весь алфавит посимвольно. Часть кода: char text; int...

Как вывести текст на экран, используя библиотеку SDL TTF для SDL 2?
В официальной доке как-то скомкано написано. При инициализации SDL TTF и при загрузке шрифта ошибок нет. Но текст на экране не...

Заполнение динамического массива данными из файла и отображение на экране
Добрый день. Стоит такая задача: Есть текстовый файл, необходимо считать данные из этого файла и вывести на экран. Но содержимое текста...

8
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.10.2013, 11:20
Цитата Сообщение от dimakozyr Посмотреть сообщение
как вывести значение переменной?
Перевести int в string.

Не по теме:

dimakozyr, а как же Java?

1
 Аватар для dimakozyr
162 / 29 / 3
Регистрация: 17.08.2013
Сообщений: 560
10.10.2013, 11:29  [ТС]
Так что-ли?
C++
1
2
3
4
5
6
7
8
9
void C_LoadImages::ttfInit() {
    std::string score = "5";
    TTF_Init();
    font = TTF_OpenFont("lazy.ttf", 40);
    textColor = {255, 255, 255};
        // Подчеркивает score и говорит, что не существует подходящей функции преобразования
        // из "std::string" в "const char*":
    currentCounterSurface = TTF_RenderText_Solid(font, score, textColor);
}
Цитата Сообщение от alsav22 Посмотреть сообщение
dimakozyr, а как же Java?
Решил не разбрасываться и завершить начатое
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.10.2013, 11:58
Цитата Сообщение от dimakozyr Посмотреть сообщение
Подчеркивает score и говорит, что не существует подходящей функции преобразования
C++
1
currentCounterSurface = TTF_RenderText_Solid(font, score.c_str(), textColor);
Но я о другом писал. Где здесь преобразование int в string? Нужно было же значение int вывести?

Добавлено через 12 минут
C++
1
2
3
4
5
6
7
8
9
10
11
void C_LoadImages::ttfInit() 
{
    TTF_Init();
    font = TTF_OpenFont("lazy.ttf", 40);
    textColor = {255, 255, 255};
        // Как здесь вместо "0" вывести значение переменной "currentScore"?
    stringstream s;
    s << "Score: " << currentScore;
    string str = s.str();
    currentCounterSurface = TTF_RenderText_Solid(font, str.c_str(), textColor);
}
1
 Аватар для dimakozyr
162 / 29 / 3
Регистрация: 17.08.2013
Сообщений: 560
10.10.2013, 12:03  [ТС]
C++
1
2
3
4
int currentScore = 8;
std::stringstream s;
s << "Score: " << currentScore;
std::string str = s.str();
Под "s" пишет, что недопустимый непоплный тип
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.10.2013, 12:11
Код в 4 посте.

Добавлено через 5 минут
Цитата Сообщение от dimakozyr Посмотреть сообщение
Под "s" пишет, что недопустимый непоплный тип
C++
1
#include <sstream>
1
 Аватар для dimakozyr
162 / 29 / 3
Регистрация: 17.08.2013
Сообщений: 560
10.10.2013, 12:33  [ТС]
Ура, заработало, спасибо

Добавлено через 11 минут
А еще такой вопрос. Вторая строка закомментирована, в ней задается цвет текста.
Сейчас он серый. Если раскомментировать, то подчеркивается открывающаяся скобка и пишет "требуется выражение"

C++
1
2
3
font = TTF_OpenFont("lazy.ttf", 40);
textColor = {255, 255, 255};
currentCounterSurface = TTF_RenderText_Solid(font, strCurrent.c_str(), textColor);
Добавлено через 9 минут
Странно. Отображаются: счет и максимальный счет.
Раньше между ними было пространство (задал координаты), а теперь они одна за другой
Приходится табуляцией отделять

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void C_LoadImages::ttfInit() {
    C_Events o_C_Events_C_LoadImages;
 
    TTF_Init();
 
    std::stringstream currentScore;
    std::stringstream totalScore;
 
    currentScore << "Score: "      << o_C_Events_C_LoadImages.getCurrentCounter();
    currentScore << "\t\t\t\t\t\t\tHigh Score: " << o_C_Events_C_LoadImages.getTotalCounter();
 
    std::string strCurrent = currentScore.str();
    std::string strTotal   = totalScore.str();
 
    font = TTF_OpenFont("lazy.ttf", 40);
    //textColor = {255, 255, 255};
    currentCounterSurface = TTF_RenderText_Solid(font, strCurrent.c_str(), textColor);
    totalCounterSurface   = TTF_RenderText_Solid(font, strTotal.c_str(),   textColor);
}
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.10.2013, 12:39
Если так:
C++
1
2
3
textColor.r = 255;
textColor.g = 255;
textColor.b = 255;
Добавлено через 4 минуты
C++
1
2
3
 
currentScore << "Score: "      << o_C_Events_C_LoadImages.getCurrentCounter();
currentScore << "\t\t\t\t\t\t\tHigh Score: " << o_C_Events_C_LoadImages.getTotalCounter();
В один поток загоняете?
1
 Аватар для dimakozyr
162 / 29 / 3
Регистрация: 17.08.2013
Сообщений: 560
10.10.2013, 12:41  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
В один поток загоняете?
Точно, теперь все в порядке, можно двигаться дальше
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.10.2013, 12:41
Помогаю со студенческими работами здесь

V4L2 + SDL некорректное (мутное) отображение с камеры
День добрый возникли проблемы с получением изображения из камеры. Захватываю соответтвенно изображение и вывожу его при помощи SDL, но не...

Отображение эллипса на экране
напишите пожалуйста программу элипса в висуал 6,очень нужно,у самого плохо получается..буду очень благодарен)

Неправильное отображение на экране
итак, есть 2 блока &lt;div style=&quot;background-image:url(fon3.jpg); background-attachment:fixed; float:left; border: 3px double blue; margin:...

отображение процесса на экране
Помогите плз отобразить промежуточные результаты процесса, или хоть что нить выводить на экран, пока идет долгий процесс (кроме часов)

Отображение координат на экране. Поправить
Подскажите, как перевести строку с координатами на другую строку. Через установку курсора у меня дублируется строка с первоначальным...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru