纳金网

标题: unity3D实现描边字和阴影字的效果 [打印本页]

作者: 晃晃    时间: 2011-9-5 08:17
标题: unity3D实现描边字和阴影字的效果
在游戏里,场景是活动的,如果用单色的字,有些时候是看不清的。比如你显示的字是浅色,场景切换到太阳,字就看不清了,如果是深色,切换到晚上,也看不清了。用描边的字就能解决这个问题,很多游戏也都在用。
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,第二个参数是文字,第三个参数是文字颜色,第四个参数是描边颜色,第五个参数是宽度。
作者: Asen    时间: 2011-9-8 09:31

作者: 奇    时间: 2012-1-26 23:27
中华腾飞,鹏程万里; 民族崛起,彪炳千秋。 风纪书元,人间改岁; 鸡声告旦,天下皆春。 四海同心,惠风和畅; 万民交庆,化日舒长。

作者: C.R.CAN    时间: 2012-2-24 23:31
不错哦,谢谢楼主

作者: 奇    时间: 2012-3-1 23:25
加精、加亮滴铁子,尤其要多丁页丁页

作者: 奇    时间: 2012-3-11 23:24
你们都躲开,我来顶

作者: C.R.CAN    时间: 2012-5-31 23:34
心中有爱,爱咋咋地

作者: 菜刀吻电线    时间: 2012-6-16 23:26
其实楼主所说的这些,俺支很少用!

作者: 菜刀吻电线    时间: 2012-6-19 23:22
先垫一块,再说鸟

作者: tc    时间: 2012-7-21 23:19
我看看就走,你们聊!

作者: tc    时间: 2012-8-19 23:44
凡系斑竹滴话要听;凡系朋友滴帖要顶!

作者: C.R.CAN    时间: 2012-10-2 23:23
俺是新人,这厢有礼了!

作者: 奇    时间: 2012-10-26 00:12
有意思!学习了!

作者: C.R.CAN    时间: 2013-2-2 23:29
楼主收集的可真全哦

作者: 奇    时间: 2013-2-16 23:18
你们都躲开,我来顶





欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5