您好,欢迎来到Unity之家!   unity.jb51.net 
  • 首 页
  • 你问我答
  • 当前位置:首页 > 学习培训 > Unity入门 >
    利用NGUI制作超链接
    时间:2015-03-02 09:29 来源:Unity之家 作者:unity.jb51.net 浏览:收藏 挑错 推荐 打印



    刚开始接触NGUI不知道如何制作超链接,后来利用两个label,一个label存放要显示的文本字体,

    另一个label根据文本字体长度来显示多个'_'字体来组成一个超链接,最后把这两个Label存放在一

    个空对象中(UISuperLineButton),并给其加上Box Collider进行接收鼠标事件。


    如:



    利用NGUI制作超链接



    1.如何计算要显示文本的长度(不同数字字母长度会不一样),如:“青蛇打白蛇打来打”


    方法:


    void GetTextWidth(int nowScaleX,int nowScaleY,UILabel label,ref int TextWidth, ref int TextHeight)
    {
    int labelTextLength = 0;
    string str = label.text;
    int labelCount = str.Length;
    float wordWidth = ((float)nowScaleX/label.font.bmFont.charSize);
    for( int ii = 0 ; ii < labelCount; ii++ )
    {
    char c = str[ii];
    BMGlyph glyph = label.font.bmFont.GetGlyph(c);
    if( glyph != null)
    {
    labelTextLength += (int)(glyph.advance*wordWidth);
    }
    if( ii == 0 )
    {
    TextHeight = glyph.height;
    }
    }
    TextWidth = labelTextLength;
    }



    2.再算出一个‘_’长度lineWidth,利用TextWidth/lineWidth计算出需要多少个'_',

    再把这些下划线给第二个Label,根据调整显示的位置,两个label组成的一个超链接就算完成了。


    效果:


    利用NGUI制作超链接




    (责任编辑:脚印)
    免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。