[英]SDL2 Alpha Not Showing Up
在我的游戲循環中,繪圖部分的一部分是:
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 100);
SDL_RenderFillRect(renderer, &blur);
renderer
是我的渲染器, blur
是我占據整個屏幕的矩形:
SDL_Rect blur;
blur.x = 0;
blur.y = 0;
blur.w = 640;
blur.h = 480;
我的問題是矩形不是半透明的。 每當它繪制它時,所有的東西都是黑色的。 你甚至看不到我下面的文字。 我該如何解決? 我的渲染器不支持 alpha 嗎?
alpha 值不影響任何東西的原因是因為您需要預先指定要使用此function的顏色混合方法:
int SDL_SetRenderDrawBlendMode(SDL_Renderer* renderer, SDL_BlendMode blendMode)
blendMode
參數控制顏色混合的工作方式。 對於 alpha 顏色混合,請使用SDL_BLENDMODE_BLEND
:
SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_BLEND);
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 100);
SDL_RenderFillRect(renderer, &blur);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.