Попытка отобразить одно изображение поверх другого SDL2 без ошибок, но второе изображение не будет отображаться - PullRequest
0 голосов
/ 14 января 2019

Я делаю тест с супер простой игрой с множественным выбором, но я не могу поместить изображение поверх моего фона. Имена файлов правильные, и мой фон отображается первым.

Мой код не дает мне ошибок, и программа работает, только с отображением только фона. Я понятия не имею, в чем проблема.

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);

}

1 Ответ

0 голосов
/ 14 января 2019

Я использовал == в качестве оператора при загрузке изображения в изображение 1, которое фактически не устанавливает его в изображение 1. что я должен был сделать:

image = loadBMP("image-1.bmp");

вместо

image == loadBMP("image-1.bmp);
...