2013-05-17 61 views
1

您會如何調暗圖像(或屏幕的某個部分),以便您可以顯示其他不會變暗的焦點?對不起,這有點模糊,很難理解,但我想不出一個更好的方式來描述它。XNA - 如何調暗屏幕的一部分?

+0

這是怎麼回事變暗和多久? – Colton

+0

你可以看看着色器,我沒有經驗,但如果你想要一個更簡單的修復,你可以使用一個大的紋理2d,紋理上的所有顏色都是深色的透明顏色,除了突出顯示的對象所在的位置。 – Colton

+0

我想調暗整個屏幕,然後在昏暗的頂部繪製,以便頂部的圖形不會變暗。每次按下按鈕時都會發生這種情況。所以最簡單的方法是? – TheQuantumBros

回答

1

我不知道這是多麼高效或智能,但spriteBatch.Draw需要一種顏色來遮擋紋理。您可以嘗試設置紋理列表,並將較暗的顏色應用於要變暗的紋理。

喜歡的東西:

for(int i = 0; i < texturesToDraw.Count; i++) 
{ 
    if(i == selected) 
    { 
     spriteBatch.Draw(texturesToDraw[i], position, Color.White) 
    } 
    else 
    { 
     spriteBatch.Draw(texturesToDraw[i], position, Color.SomeDarkColor) 
    } 
} 

一個簡單的教程,可以幫助您入門:http://www.xnadevelopment.com/tutorials/fadeinfadeout/FadeInFadeOut.shtml

+0

我明白理想,但我想不出如何正確實現它:... P – TheQuantumBros

+0

添加了一個非常小的版本,它可能看起來像。 – Colton

+0

謝謝,這幫助我實現了我的目標。 – TheQuantumBros