我刚刚开始在 SDL 中制作另一个小游戏,我制作了我的 2 个玩家 - 以圆圈的上半部分为代表。到目前为止,我画了一个背景,两个玩家在上面。
if (SDL_Init(SDL_INIT_VIDEO) < 0 ) return 1;
if (!(screen = SDL_SetVideoMode(WIDTH, HEIGHT, DEPTH,SDL_HWSURFACE| SDL_DOUBLEBUF)))
{
SDL_Quit();
return 1;
}
SDL_Surface* surface2 = SDL_CreateRGBSurface(SDL_HWSURFACE, WIDTH, HEIGHT, 32,
rmask, gmask, bmask, amask);
SDL_FillRect(surface2, 0, SDL_MapRGBA(surface2->format,0,0xAA,0,0xFF));
//in the while loop
SDL_BlitSurface(surface2,0,screen,0);
当我移动播放器时,它每次移动移动 10px。我已经使用计时器实现了平滑运动,所以情况并非如此。有趣的是,当我选择让surface2 保持黑色时——一开始没有填充矩形,那么一切都很顺利。我现在用一种颜色填充屏幕表面,它运行起来也很流畅。那么可能是什么问题呢?