- 最后登录
- 2018-6-29
- 注册时间
- 2011-7-1
- 阅读权限
- 20
- 积分
- 359
- 纳金币
- 335582
- 精华
- 0
|
在游戏里,场景是活动的,如果用单色的字,有些时候是看不清的。比如你显示的字是浅色,场景切换到太阳,字就看不清了,如果是深色,切换到晚上,也看不清了。用描边的字就能解决这个问题,很多游戏也都在用。
u3d里面做描边字其实很简单,看到代码之后别打我,这是最简单的办法。
function OnGUI(){
GUI.skin=chineseSkin;
//GUI.Button(Rect(10,10,100,40),show);
var color = Color (0.6, 0.1, 0.5, 1); //文字颜色
var pcolor = Color (1, 1, 1, 1); //描边颜色
var pos=Rect(10,10,100,40) ;
MakeStroke(pos, "你好", color, pcolor, 1);
}
function MakeStroke(position : Rect, txt:String, txtColor, outlineColor, outlineWidth ){
position.y-=outlineWidth;
GUI.color=outlineColor;
GUI.Label(position, txt);
position.y+=outlineWidth*2;
GUI.Label(position, txt);
position.y-=outlineWidth;
position.x-=outlineWidth;
GUI.Label(position, txt);
position.x+=outlineWidth*2;
GUI.Label(position, txt);
position.x-=outlineWidth;
GUI.color=txtColor;
GUI.Label(position, txt);
}
用法:
MakeStroke 第一个参数位置,是个rect,第二个参数是文字,第三个参数是文字颜色,第四个参数是描边颜色,第五个参数是宽度。 |
|