在乒乓克隆上工作。尝试在屏幕上显示分数时遇到严重问题。我发现的很多东西都在使用图像,但我只是想用文本来显示分数。我正在尝试使用SDL TTF库加载字体并显示它,但无法正确显示。我发现这个问题How to blit Score on screen in SDL?和答复说要用SDL_BlitSurface(),我试过,我刚刚得到一个编译错误(假设我是做正确)SDL在屏幕上显示得分
这是我呼吁绘制得分函数:
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
Aplogies,我会把图像中的职位,但显然我不能。
除非存储分数的整数出于某种原因等于1并且显示零,否则分数将不会显示。因为我有游戏输出到控制台的分数以确保分数是绝对增加。那么,我做错了什么,使我的分数显示不正确,并有一些00的东西?
我试着复制并粘贴这段代码,并将其调整为我的程序,但现在我没有从窗口上的任何类型的文本输出时得到任何输出。 – CharlieFan39
@ CharlieFan39您是否正确初始化相应的库?您是否启用了“SDL_RENDERER_ACCELERATED”? – jrd1
是的,我有。我之前尝试的方式给了我不正确的输出,但由于某种原因,我现在没有任何输出。我很迷惘。 – CharlieFan39