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 が表示される原因は何でしょうか?