SDL Render Текст не отображается, если не очищена другая поверхность - PullRequest
0 голосов
/ 04 мая 2011

У меня есть

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

, и на поверхности экрана я также применил своего персонажа и свою стену.Но по какой-то причине я не могу видеть таймер, если у меня уже нет NULL «floorurface» и «charsurface».Я что-то не так делаю?

1 Ответ

1 голос
/ 04 мая 2011

Попробуйте установить timerUpdate () перед SDL_Flip (экран). Вы вызываете SDL_Flip, затем вызываете timerUpdate (). Итак, вы думаете, хорошо, это нормально, в следующий раз, когда экран перевернут, я увижу текст. Но то, что происходит, заключается в том, что вы перетаскиваете больше поверхностей сверху, прежде чем перевернуть экран, и затем вы не можете видеть текст, потому что вы перевернули поверхности поверх него. Все, что вам нужно сделать, это изменить порядок, поэтому

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

должно работать.

...