我有一个
timer = TTF_RenderText_Solid( tfont, timeStr.str().c_str(), txtColor );
applySurface(500, 30, timer, screen);
并且在'屏幕'表面上我也应用了我的角色和墙壁。但由于某种原因,我似乎无法看到计时器,除非我已经将'floorurface'和'charsurface'都设为NULL。我做错了吗?
答案 0 :(得分:1)
尝试在SDL_Flip(屏幕)之前放置timerUpdate()。您正在调用SDL_Flip,然后调用timerUpdate()。所以你认为,好的,下次屏幕翻转时,我会看到文字。但正在发生的事情是,在再次翻转屏幕之前,你会在顶部更多的表面,然后你看不到文本,因为你在它上面有表面。您需要做的就是更改订单,所以
timerUpdate();
if (SDL_Flip(screen) == -1) return 1; //Instead of the other way round
应该有用。