Непрозрачность текстуры SDL_Texture

0

Как изменить непрозрачность 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
sdl-2

1 ответ

4
Лучший ответ

Используйте SDL_SetTextureAlphaMod:

SDL_SetTextureAlphaMod(img, opacity);

Это задает непрозрачность (альфа) текстуры, альфа-значение должно быть float от 0.0 (полностью прозрачное или невидимое) до 1.0 (полностью непрозрачное).

  • 0
    Спасибо, но должна быть непрозрачность 0-255.
  • 0
    в этом случае вы можете передать его функции следующим образом: SDL_SetTextureAlphaMod(img, opacity / 255.0);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню