(SDL_ttf を使用して) サーフェスにテキストを描画してから、サーフェス上のテキストを変更したいと考えています。表面を再描画しただけでは、テキストは消えません。問題を解決する方法についていくつかのフォーラムの投稿を見てきましたが、それを理解できないようです. 特に、このソリューションが機能しない理由を理解できません:(コードが長いため、これは本質的なものを提供するだけです)
宣言されたクラスファイルで:
SDL_Surface* box; // These two are initialised to the
SDL_Surface* boxCopy; // same image
私のレンダリング機能の開始時:
*box = *boxCopy; \\Reset box surface
ポインターと C++ (確かに制限されています) についての私の理解では、これにより、box が指す面が boxCopy が指す面と等しくなるはずです。代わりに、boxCopy サーフェスが box のコピーになります。このコード行で boxCopy を変更する方法はわかりませんが、それが起こっているようです。