2013-01-07 97 views
0

我正在使用C#中的OpenTK進行遊戲。目前正試圖實施暫停菜單系統。變暗整個屏幕

當菜單出現時,我需要您的幫助的一個功能是將整個屏幕變暗。

有沒有什麼辦法可以對每個像素進行最終修改(一半的RGB?),一旦一切都呈現?如果沒有,我知道在屏幕上繪製一個四邊形是行得通的,但我似乎無法弄清楚如何獲得半透明的OpenTK四邊形。

回答

0

一個簡單的效果,即僅使用100%和0%的α,但「變暗」的屏幕,是具有棋盤圖案(50%更暗)黑色和透明像素,並且渲染在屏幕上。

這樣做的缺點是它並沒有使屏幕「變黑」,但它比處理部分透明度更快,並且可以產生很好的效果(有點多樣)。

2

可以做什麼是創建一個半不透明的灰色圖像。當遊戲暫停時,只需在所有內容之上繪製該紋理(但可能位於暫停文本下方,以使其不會顯示爲灰色)所有遊戲元素仍將顯示(因爲紋理不透明),但他們將會「變灰」。

+0

我該如何去了解部分透明度?這是我的主要問題。使圖像部分透明是不夠的,圖像仍然對我來說完全不透明。 – Randomman159

+0

@ Randomman159使用顏色紋理(1,1,1,0.5)? – TheAmateurProgrammer

+0

需要管理alpha的代碼,否則它會將其視爲完全不透明或透明。我不知道代碼:/ – Randomman159