我正在使用超级简单的多项选择游戏进行测试,但是我无法将图像放在背景之上。文件名正确,并且我的背景首先显示。
我的代码没有给我任何错误,程序正在运行,仅显示背景。我不知道问题是什么。
void Display(SDL_Surface*& windowsurface, SDL_Surface*& background, SDL_Surface*& image, SDL_Window*& window, SDL_Rect& scaleRect, int &slide){
if(slide == 2){
image == SDL_LoadBMP("image-3.bmp");
}
else if(slide == 3){
image == SDL_LoadBMP("image-2.bmp");
}
else if(slide == 4){
image == SDL_LoadBMP("image-3.bmp");
}
if(slide < 5){
background = SDL_LoadBMP("background-1.bmp");
}
else if(slide == 5 || slide == 8 || slide == 11){
background = SDL_LoadBMP("background-2.bmp");
}
else if(slide == 6 || slide == 9 || slide == 12){
background = SDL_LoadBMP("background-3.bmp");
}
else if(slide == 7 || slide == 10 || slide == 13){
background = SDL_LoadBMP("background-4.bmp");
}
SDL_BlitSurface(background, NULL, windowsurface, NULL);
SDL_BlitScaled(image, NULL, windowsurface, &scaleRect);
SDL_UpdateWindowSurface(window);
}
答案 0 :(得分:0)
在将图像加载到图像1时,我使用==作为运算符,但实际上并没有将其设置为图像1。 我应该做的:
image = loadBMP("image-1.bmp");
代替
image == loadBMP("image-1.bmp);