我刚刚开始在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。我已经用定时器实现了平滑运动,所以情况并非如此。有趣的部分是,当我选择让表面2变黑时 - 在开始时没有填充,那么一切都很顺利。 我现在用一种颜色填充屏幕表面,它也运行得很顺畅。那可能是什么问题?