纳金网
标题:
【超链接】 利用 ngui 制作超链接
[打印本页]
作者:
jamfing
时间:
2013-2-20 14:50
标题:
【超链接】 利用 ngui 制作超链接
利用ngui 制作超链接
刚开始接触Ngui不知道如何制作超链接,后来利用两个label,一个label存放要显示的文本字体,另一个label根据文本字体长度来显示多个'_'字体来组成一个超链接,最后把这两个Label存放在一个空对象中(UISuperLineButton),并给其加上Box Collider进行接收鼠标事件。如:
要解决问题:
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组成的一个超链接就算完成了。
效果:
作者:
王者再临
时间:
2013-2-20 15:22
很不错的介绍啊,谢谢了!!
作者:
libufan
时间:
2013-2-20 15:36
谢谢楼主分享,很不错的教程哦,呵呵
作者:
艾西格亚
时间:
2013-2-20 16:34
请多分享NGUI的相关教程,谢谢!
作者:
Steve
时间:
2014-2-6 17:31
谢谢楼主分享
作者:
川流不息
时间:
2014-2-7 23:09
好东西呀,谢谢楼主了!
作者:
一笑而过2号
时间:
2014-2-8 00:04
NGUI的教程就是好
作者:
张鱼怪
时间:
2014-2-8 02:31
mark!mark!
作者:
titanko
时间:
2014-3-4 16:25
很不错的介绍啊,谢谢了!!
作者:
Chubbaz
时间:
2014-3-4 16:30
Thanks for sharing.
作者:
heise
时间:
2014-3-19 18:48
很不错的介绍啊,谢谢了!!
作者:
Mr_X
时间:
2014-3-23 09:38
这个不是有插件嘛
作者:
gao5411
时间:
2014-4-15 13:47
想法不错
作者:
mflyskym
时间:
2015-9-11 09:13
呵呵,很不错,辛苦了
欢迎光临 纳金网 (http://old.narkii.com/club/)
Powered by Discuz! X2.5