我的订单|我的收藏|我的商城|帮助中心|返回首页
虚拟现实新闻>VR>VR软件>Unity3D

Unity3d里面做描边字和阴影字的简单办法

文章来源:网络收集 作者:Frank 发布时间:2010年04月28日 点击数: 字号:

      描边字有啥好处呢?在游戏里,场景是活动的,如果用单色的字,有些时候是看不清的。比如你显示的字是浅色,场景切换到太阳,字就看不清了,如果是深色,切换到晚上,也看不清了。用描边的字就能解决这个问题,很多游戏也都在用。

      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,第二个参数是文字,第三个参数是文字颜色,第四个参数是描边颜色,第五个参数是宽度。


阴影字应运而生

function MakeShadow(position : Rect, txt:String, txtColor, shadowColor, shadowWidth ){
        for (var i=0;i<shadowWidth;i++){
                position.x+=1;
                position.y+=1;
                GUI.color=shadowColor;
                GUI.Label(position, txt);
        }
        position.x-=shadowWidth;
        position.y-=shadowWidth;
        GUI.color=txtColor;
        GUI.Label(position, txt);

  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料