Frage

Ich habe eine

timer = TTF_RenderText_Solid( tfont, timeStr.str().c_str(), txtColor ); 
applySurface(500, 30, timer, screen);

und auf der 'Bildschirm'-Oberfläche habe ich auch meinen Charakter und meine Wand angewendet.Aber aus irgendeinem Grund kann ich den Timer nicht sehen, es sei denn, ich habe bereits die 'Bodenfläche' und die 'Zeichenfläche' NULL.Mache ich etwas falsch?

War es hilfreich?

Lösung

Versuchen Sie, timerUpdate () vor SDL_Flip (Bildschirm) zu setzen.Sie rufen SDL_Flip auf und rufen dann timerUpdate () auf.Sie denken also, OK, das ist in Ordnung. Wenn der Bildschirm das nächste Mal umgedreht wird, wird der Text angezeigt.Was jedoch passiert, ist, dass Sie mehr Flächen oben blenden, bevor der Bildschirm erneut umgedreht wird, und dann den Text nicht sehen können, weil Sie Flächen darüber geblendet haben.Alles was Sie tun müssen, ist die Reihenfolge zu ändern, also

timerUpdate();
if (SDL_Flip(screen) == -1) return 1; //Instead of the other way round

sollte funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top