簡體   English   中英

SDL2 Alpha 未出現

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM