我們平常在遊戲中看到人物對話框的底色就是半透明的效果,不會因爲對話內容而遮擋遊戲畫面. 這樣看起來好看,其實現起來也不難.
原理: 初始化一個象素數組,併爲每個象素指定需要的顏色值和透明度,然後在指定的位置用drawRGB()畫出該象素數組就可以了在指定象素顏色和透明度的時候,注意象素的頂點格式爲0xaarrggbb.
下面用一個示例來說明.
代碼:
int red , blue, green , alpha ;
int dataRgb[100][100] ;
alpha = 0x8f ;
red = blue = green = 180 ;
int temp = (alpha<<24)|(red<<16)|(green<<8)|blue ;
for(int i = 0;i< 100*100 ;i++)
{
dataRgb[i] = temp ;
}
g.drawRGB(dataRgb, 0, 100, x, y, 100, 100, true) ;