Работаю над клоном Pong. Возникли серьезные проблемы с попыткой отобразить счет на экране. Многие вещи, которые я нашел, используют изображения, но я просто хочу использовать текст для отображения числа баллов. Я пытаюсь использовать библиотеку SDL TTF для загрузки шрифта и его отображения, но он отображается неправильно. Я нашел этот вопрос Как вывести счет на экран в SDL? и в ответе говорилось, что нужно использовать SDL_BlitSurface(), который я попробовал, и я только что получил ошибку сборки (при условии, что я делал это правильно)
Вот функция, которую я вызываю для рисования счета:
void Pong::drawScore(){
leftScoreChar = leftScore;
rightScoreChar = rightScore;
SDL_Color text_color = {255, 255, 255};
score = TTF_RenderText_Solid(font,
&leftScoreChar,
text_color);
score2 = TTF_RenderText_Solid(font,
&rightScoreChar,
text_color);
leftScoreText = SDL_CreateTextureFromSurface(renderer, score);
rightScoreText = SDL_CreateTextureFromSurface(renderer, score2);
SDL_RenderCopy(renderer, leftScoreText, NULL, &scoreA);
SDL_RenderCopy(renderer, rightScoreText, NULL, &scoreB);
}
Что при запуске выводит это: https://goo.gl/dZxDEa
Извините, я бы вставил изображение в пост, но, видимо, не могу.
И оценка не будет отображаться, если целое число, хранящее оценку, по какой-либо причине не станет равным 1 и не будет отображать ноль. И счет определенно увеличивается, потому что игра выводит счет на консоль, чтобы убедиться. Итак, что я делаю неправильно, из-за чего мой счет отображается неправильно и имеет около 00?