Как изменить непрозрачность SDL_Texture? И я не знаю, как применить число непрозрачности в моей функции.
Мой код
void drawTexture(SDL_Texture *img, int x, int y, int width, int height, double opacity)
{
SDL_Rect SrcR;
SDL_Rect DestR;
SrcR.x = 0;
SrcR.y = 0;
SrcR.w = width;
SrcR.h = height;
DestR.x = x;
DestR.y = y;
DestR.w = width;
DestR.h = height;
SDL_RenderCopy(_main::_main_renderer, img, &SrcR, &DestR);
}
Используйте SDL_SetTextureAlphaMod
:
SDL_SetTextureAlphaMod(img, opacity);
Это задает непрозрачность (альфа) текстуры, альфа-значение должно быть float
от 0.0
(полностью прозрачное или невидимое) до 1.0
(полностью непрозрачное).
SDL_SetTextureAlphaMod(img, opacity / 255.0);