0

我有一个

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

在“屏幕”表面上,我还应用了我的角色和墙壁。但是由于某种原因,除非我已经将'floorsurface'和'charsurface'设为NULL,否则我似乎看不到计时器。难道我做错了什么?

4

1 回答 1

1

尝试将 timerUpdate() 放在 SDL_Flip(screen) 之前。您正在调用 SDL_Flip,然后调用 timerUpdate()。所以你想,好吧,没关系,下次屏幕翻转时,我会看到文字。但是发生的情况是,在屏幕再次翻转之前,您在顶部粘贴了更多表面,然后您看不到文本,因为您在上面粘贴了表面。你需要做的就是改变顺序,所以

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

应该管用。

于 2011-05-04T14:37:37.020 回答