我们平常在游戏中看到人物对话框的底色就是半透明的效果,不会因为对话内容而遮挡游戏画面. 这样看起来好看,其实现起来也不难.
原理: 初始化一个象素数组,并为每个象素指定需要的颜色值和透明度,然后在指定的位置用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) ;