发现了NGUI的ngui label 颜色换行的解决办法,不知道是不是我火星了=,=

15 鸟语1_中华文本库
第1页/共3页
文本预览:
yì yàn ng
shū sǎng
yì yàn ng
shū sǎng
yì yàn ng
安慰 矫健 嗓子 yě cháng shǎ 公冶 长 说傻话
呢喃 lèng 呆愣愣
shū sǎng
yì yàn ng
安慰 矫健 嗓子 犒赏 呢喃 yě cháng shǎ lèng 公冶 长 说傻话 呆愣愣 jū 无拘无束 倍感亲切 通晓鸟语
一想起布谷鸟那充满深情的声 声催促,我在学习上还真不敢疏忽 怠慢。 (因粗心大意而没有注意到。) 所以,尽管它的嗓音并不出众, 听到它的叫声,人们仍倍感亲切。
(加倍感到亲切。)
试着完成下面的填空:
这篇文章生动地描述了“我”从 小就___鸟,经常与____交谈,与 鸟儿建立了深厚的______的故事, 告诉我们:_________________。
我是个在农村长大的 孩子,从小就爱鸟,爱看 鸟儿那美丽矫健的身姿, 爱听它们的歌声和软语。
我是个在农村长大的 孩子,从小就爱鸟,爱看 鸟儿那美丽矫健的身姿, 爱听它们的歌声和软语。
我是个在农村长大的 孩子,从小就爱鸟,爱看 鸟儿那美丽矫健的身姿, 爱听它们的歌声和软语。
我多想做一个通晓鸟语的 “公冶长”啊!即使得不到大肥 羊的犒赏,能跟鸟儿谈谈心,聊 聊天,结为好友,听它们讲讲鸟 类王国的趣事,也是很快意的。 于是我便经常试探着和鸟儿接近, 跟他们交谈。
我多想做一个通晓鸟语的 “公冶长”啊!即使得不到大肥 羊的犒赏,能跟鸟儿谈谈心,聊 聊天,结为好友,听它们讲讲鸟 类王国的趣事,也是很快意的。 于是我便经常试探着和鸟儿接近, 跟他们交谈。
它们那“布谷,布谷”的 亲切啼叫,分明是催促人 们快快出工呢!
它们那“布谷,布谷” 的亲切啼叫,分明是催 促人们快快出工呢!
我最喜欢和布谷鸟对话了: “你做什么?” “种田织布。”
“你喜欢什么?”
“勤劳刻苦。”
这样无拘无束地一问 一答,有趣极了,我 自己仿佛也变成了一 只翩翩飞翔的鸟儿。
这样无拘无束地一问 一答,有趣极了,我 自己仿佛也变成了一 只翩翩飞翔的鸟儿。
一想起布谷鸟那充满 深情的声声催促,我 在学习上还真不敢疏 忽怠慢。
一想起布谷鸟那充满 深情的声声催促,我 在学习上还真不敢疏 忽怠慢。
一想起布谷鸟那充 满深情的声声催促, 我在学习上还真不 敢疏忽怠慢。
当我( 鸟那声声催促,就(
第1页/共3页
寻找更多 ""Qt教程及软件(超级浅显易懂,非常适合初学者)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
中科院高能所计算中心6764003.8浏览总量总评分
评价文档:
142页5下载券47页免费401页1下载券47页免费22页1下载券11页1下载券95页免费39页免费81页免费10页免费
喜欢此文档的还喜欢172页5下载券61页1下载券95页1下载券38页1下载券401页1下载券
Qt教程及软件(超级浅显易懂,非常适合初学者)|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢客户端的一些经验
弹指一挥间,入行第四年,在程序员这条不归路上越走越远。对于制作客户端也有了一些理解和想法。制作客户端,基本上包含以下内容
引擎选择,目前主流2d页游 flashBuilder, 2d手游cocos2d-x, 3D手游Unity(3d页游,端游暂未接触过)
借鉴并领会一些最基本的该引擎的成熟制作方案,代码语法,UI框架,各种问题解决方案,数据传递方式(一般选择json),各种插件的捣鼓,工具的选择。工欲善其事必先利其器,编辑器的选择,也很重要,Unity开发推介vs,全世界最性感的代码编辑器,没有之一,sublime text也不错。
游戏最核心功能,包含人物动作,技能,战斗,寻路,同屏通讯等核心功能(主程该做的事儿,目测至少2个月的折腾才能有初步框架,当然若是卡牌的话,时间相对短些)
数据结构的设定,各种数据的数据格式,比如:人物的数据结构,坐骑,宠物,怪物,背包格子,消息封装的格式(小的数据结构,用结构体比用类好)等等
UI和客户端服务端通讯。通讯的话推介protobuf,当然还是得自己再封装。 后期游戏开发80%的时候会停留在UI的通讯以及更新,所以必须选一个稳定并且久经考验的UI框架(Unity一般用的是ngui,但是据说新的ugui性能不错,新项目可以尝试),UI之间消息的通讯,可以用mvc,当然不一定非得往mvc靠,根据个人习惯和经验吧。
各种批处理一键化的快捷开发工具还是需要的,Jenkins真心不错,集成编译首选。(为适应策划需求以及项目要求,开发一些小工具,可以有,但是先权衡有没有必要,是否已经有人做出来而且有更好的,避免造轮子)
最后就是具体功能模块的实现。框架OK的话,这就可以找实习生来完善了,靠人堆功能的阶段
客户端人员最重要的能力是学习能力,其次是态度和习惯(Ctrl+S和备份,是程序员最好的习惯,没有之一)
话外题:客户端跟策划的二三事
客户端跟策划是天生的“死敌”,客户端指责策划无条件修改需求,导致工作量激增而且做大量无用功。策划指责客户端这也实现不了,那也实现不了;这是常有的事。
对于客户端有3点建议:
敢于说不,提出自己的想法,指出策划的设计不合理之处。(虽然结果不一定如愿)
做一些便利之处给策划,比如,界面没对齐,排版不好看,这些可以直接交给策划去做,前期可以适当的培训一下他们使用选择的开发引擎工具。其实策划学东西比你想象的快,只要不涉及代码
做之前先预判好一些会改动的地方,其次,策划需求更改,代码不要删除。
做游戏的经常会面对一个问题,图片大小。经常美术给过来的图,动不动几百K,前期不发觉,后期一看,游戏的包容量蹭蹭的上来了,一两百兆分分钟。然后就是手忙脚乱的精简内容,各种删除。其实,压缩图片是效果最明显也是最需要的。
今天要说的压缩图片,是加载需要的图片,如果你所有游戏都采用了Altas的方式,那我说的压缩方法就不太适用了。一个非常好的压缩图片的网站:/ 压缩的图片质量很好。 目测要翻墙才能打开,但是网站有个弊端,图片只能一张张压缩,不能批处理。当然,你可以自己写个js脚本进行批处理,但是很慢(原理就是扑捉网站的js信息,然后调用,本地检测,下载一张就自动上传下一张)。还好网站有个收费的ps插件(算法是一样的)。
插件的名字是:TinyPNG 1.1.42 For PSCC 2014.rar,具体操作就按照里面的方法执行就可以了,我用的是ps cs6,亲测可以操作,500k的图片压缩之后130K左右,而且图片质量没有多大损失,真的挺不错。
在ps里面自定义一个动作,然后就可以开始批处理项目里面的图片了。至于怎么制作ps的动作,大家百度一下就可以了。
免费破解版地址是:/s/1eQ7v54I,如果链接地址失效,可以到个人信息栏发邮件或者QQ联系我。
辛苦一年,游戏终于上线了:/ssll/
感谢工作室大神曾家东提供的shader,让我解决了问题。
示例:链接:/aoFjfw
Unity版本:4.5.4 NGUI版本3.6.4
(说不定NGUI更高的版本就解决了这个问题,所以本解决方案是针对3.6.4或以下版本)
如果你的Unity3D项目是使用NGUI作为UI的话(事实上大部分团队使用NGUI作为UI,至少我知道的团队都是),那么就有可能碰到这样的问题,比如:策划想要某个副本界面类似漫画格子,如下图:
碰到这种情况,用Box Collider 碰撞器就有点难以达到策划的需求了。策划要求的是完全按照漫画格子的效果来,先不抱怨为什么策划要如此设计(我也抱怨过,但是打动不了策划,只能想办法去实现)
我想了三种解决办法的思路:1.采用Polygon Collider2D(也就是Unity自带的2D碰撞器)
2.百度谷歌求助大神
3.多个碰撞器(原理类似3D模型是由无数个小三角形的面组成)
第三种纯粹是万一没办法,只能跟策划坦白,能力有限,用这种比较猥琐的办法实现.(或许策划会很无语:既然这样,那我还不如加个按钮在上面算了)
一段时间内,我确实是采用第一种,并且实现了。具体实现是:因为NGUI的所有点击事件,统统采用3D射线来碰撞实现点击。但是Polygon Collider2D是2D碰撞器,只能响应2D射线。所以我就另外加了个相机,专门针对这个漫画模块。问题解决了,但是带来了新的问题。因为UI是一个相机,这个漫画格子又是一个相机,有先后之分。这样,漫画格子就永远在UI之上,会有什么问题,你可想而知。
最近,工作室大神陈子乾提出一种新方案,基于像素判断。这是一种新思路。给了我示例代码后,确实实现了策划的要求而没有带来新的问题。
原理是:根据鼠标点击,获取该条射线内所有的Box Collider,然后判断哪一个是我们的漫画格子的Box Collider,再拿到该点的像素(arpg值),判断alpha的值是否&0(一般我们写&0.1因为可能图片看不见的地方还有些像素只是肉眼看不见而已),大于则响应点击事件。
我做了一个示例:
关于UIsprite 和 uiTexture 的不规则图片点击。需要注意的是UIsprite图集需要把格式改成GUI(Editor\legacy),否则会报错:
UnityException: Texture ‘Fantasy Atlas’ is not readable, the texture memory can not be accessed from scripts. You can make the texture readable in
the Texture Import Settings.
clicklistener.Update () (at Assets/Script/clicklistener.cs:43)
示例链接:
如有疑问,可邮件给我,乐意为你解答。
最后,感谢陈子干,哦不对,陈子乾大神的解决方案。
《伊甸湖》
2008年英国电影。据说里面有个是《黑暗侵袭》的摄像还是怎么地。对于孩子的纵容确实值得父母烦死啊。氛围营造的很好,但是不适合重口味的人看。
《影子写手》
根据罗伯特·哈里斯的小说《枪手》改编。主人公在整部影片里都没有名字。只有ghost作为代名词。 他只是一个推动剧情发展的符号。他与这个故事无关。但故事因他连接起来。片子与《禁闭岛》算是同期上映。我总觉得两者有相似的感觉。都发生在一个小岛上。很好看的政治惊悚片。前两个小时都在为最后的十分钟做铺垫。影片的最后一个空镜才回归到了波兰斯基的风格。
《时空罪恶》
2008年西班牙电影。又一次印证了西班牙惊悚片的强大= = 如果喜欢《恐怖游轮》那个轮回式的可以看看这个。这个很有趣。一段时空。三段罪恶。最后一个摇镜头。三个“主角”出现在同一时空里。令人哭笑不得。
《心慌方》
又称《异次元杀阵》1997年加拿大电影。有一点血腥。我影响最深刻的一句词就是。每个人都按部就班的完成自己份内的工作。却不问为什么。结果造出了这么一个杀人工具。
《生死停留》
被公认为14部高智商电影之一。2005年美国电影。一部大多数人看了影评才能看懂的电影。生与死之间的停留。是对自我的忏悔。对尘世的留念。然后这一切化作了梦境变成了自我的救赎。 真假幻化的很好。
《狙击电话亭》
2002年美国电影。一个小小的电话亭。这样一个场景你能想到什么?我只能感叹编剧无敌
《人兽杂交》
2009年美国电影。《心慌方》导演文森佐·纳塔利又一大作啊。估计也是奔着系列剧去的。剧情扑朔迷离不说。以为是灾难片。结果。。正所谓不看不知道what the shit.. 但无论是就《心慌方》还是《巴黎,我爱你》中的“玛德莲娜区”都逊色不少。它的上映刚好也是对人兽杂交提案扇了重重一巴掌。值得一看。
《1408幻影凶间》
2007年美国电影。其实很惊悚。但是很深刻。史蒂芬·金的小说值得我们拜读一下。官方证明此影片有4个版本的结局。
《致命ID》
被公认为14部高智商电影之一。2003年美国电影。如果你对多重人格产生好奇。欢迎围观。目前没有可以超越的。
《禁闭岛》
被公认为14部高智商电影之一。本片在IMDb排行榜中排名第243位~~~ 2010年美国电影。把它跟《第六感》和《小岛惊魂》放在一起。剧情和拍摄必定更胜一筹。推荐原著小说。着实是给你下了各种套啊。
《梦之安魂曲》
本片在IMDb排行榜中排名第61位。2000年美国电影。这不是一部在逻辑和编剧上十分出彩的电影。但是想要推荐给大家。简直是身心上的震撼。从剪辑到配乐。每一个特写镜头。每一段小提琴独奏都那么令人撕心裂肺。沉沦沉沦沉沦。那些相爱而不相干的灵魂。
《万能钥匙》
被公认为14部高智商电影之一。2005年美国电影。这电影着实让我捏了一把冷汗。是对信则有。不信则无最好的诠释。
《搏击俱乐部》
被公认为14部高智商电影之一。本片在IMDb排行榜中排名第14。1999年美国电影。个人觉得是《一级恐惧》的强化版。《机械师》《致命ID》等的地基。诺顿啊。!!另外。大卫芬奇埋帧的功夫让我们情何以堪。卡帧卡的我眼睛都花了。最后一幕竟然是。You met me at very strange time in my life.
《致命游戏》
又名《心理游戏》1997年美国电影。伟大的结局。伟大的史蒂芬金。导演一而再再而三的吊着观众的胃口。你以为发现了真相结果它却是个。
《异次元骇客》
1999年美国电影套层结构。神秘。复杂。现实。虚拟世界。虚拟世界中的虚拟世界。三个世界相互堆叠。如果真实来源于虚拟。如果界限早已模糊。的确算得上是一个梦魇。
《V字仇杀队》
2006年美国电影故事发生在虚拟的未来世界。那时的英国变成了一个由独裁者萨特勒所统治的法西斯集权主义国家。人民生活在残暴的统治下。疾病、饥荒、灰暗。在这里。外国人、同性恋者和反对人士都会被抓入集中营处死。
2008年美国电影《七磅》开头所有人都看不懂。但是请坚持到最后。你会深深地感动! “上帝用7天创造世界。我用7秒钟。就毁灭了自己。” 一份重达七磅的救赎。一段不堪回首的记忆。本·汤姆森与观众一同探寻生命的意义。
《火柴人》
2003年美国电影主人公罗伊是一名患有精神强迫症的骗子。他和野心勃勃的搭档弗兰克联手。经营着小打小闹的骗子生涯。依靠罗伊高明的骗术。屡屡有人受骗上当。
《第九区》
2009年美国电影《第九区》是2009年上映的一部有关外星人在地球的科幻电影。由尼尔·布洛姆坎普执导。“指环王”导演彼得·杰克逊监制。对于男主角威库斯来说。这个世界上似乎只有一个地方能够为他提供一处安身之地了。那就是第九区…
《致命魔术》
2007上映的美国电影。其讲述的是在魔术产生盛行的维多利亚时期,出现了两位极有天赋的年轻魔术师、两个好朋友,罗伯特·安吉尔和阿尔弗雷德·波登。两个人因为互相嫉妒猜疑,而成了势不两立的对手,他们用各种方法来证明自己是那个时代的第一魔术师的故事。
一个人和一口棺材的精彩《活埋》的特别之处首先在于故事设置很巧妙,其他同类电影往往局限在变态杀人、灵异科幻、病毒爆发等娱乐性较强的背景之下,而本片讲述的是主人公被伊拉克反美武装装进棺材埋入地下,并勒索赎金的故事。或许电影本身的立意并没有太多的政治指向性,但这个故事却不经意地暴露了伊拉克战争的恶果和国家利益纠葛的复杂性,并且还讽刺了利益公司的丑恶嘴脸,这些都让电影带有了某种现实意义,堪称小格局大视野。《活埋》还把电影中的封闭空间和角色表演都做到了极限,从始至终都是棺材内的单角色表演,剧本的创意堪称独到,单从场景设置上来说,估计很难有电影能超越本片。所以只要有创意,一口棺材也精彩。
《电梯里的恶魔》
头上三尺有神灵奈特·沙马兰以《灵异第六感》而闻名于世,由他监制的新片《电梯里的恶魔》依然以灵异恐怖为卖点。五个不同来历的人在大厦内的电梯里相遇,突然停止运行的电梯引发了一连窜血腥恐怖事件。从技术的角度去看,影片的绝大部分情节都发生在电梯里,这充分体现了创作者的思想活力,而流畅的镜头让电影具备了相当的观赏性。电影借用魔鬼的惩罚告诉世人,头上三尺有神灵,若想人不知除非己莫为,虽然最后的灵异结局有些俗套,但是故事的劝善功能依然值得提倡。看完本片,相信不少人在乘坐电梯时会对身边的人狐疑满腹浮想联翩——他会不会是一个非人类的物体呢?
《小岛惊魂》
2001年美国作品不多说了。大家都说烂了。向《第六感》致敬的作品。剧情可信度更高。疑点更少。
由于各种排版问题,就直接给文件下载吧。
excel文件路径:
标签解释:
&split&&/split&
分隔标签,添加图集图片,或者外部加载的图片,还有超链接文本添加这个标签,其他情况禁止使用
&font=30&&/font& 文字大小标签,参数30为文字大小,可设置值的大小(参数不能为空)
&br=10& 换行标签,参数10为此行文本距离下行的间距,可设置值的大小(参数不能为空)
使用示例:
&split&labelclick=超链接文本,params1,params2&/split&
这是生成一个超链接文本,”labelclick=”为固定值不可更改, “超链接文本”为需要显示的文字,params1,params2,至少有一个参数(因为需要点击,就需要添加参数执行点击之后的方法)
超链接文本都会有下划线和颜色,例如 我是超链接 [u][00ff00]我是超链接[-][/u]
[u][/u]表示的是下划线
[00ff00][-]表示的是文字颜色
&split&sprite=star,20,20&/split&
这是生成图集图片的示例,“sprite=“为固定值,不可更改。”star”为图片在图集内的名字(注意,富文本内只能使用public图集内的图片) 20,20为该图片的长和宽(不能为空)
&split&img=headImage/test3.png,30,30&/split&
这是生成外部加载图片的示例,”img=”为固定值,不可更改headImage/test3.png为图片路径,图片的完整路径是:F:\BLEACH\Assets\StreamingAssets\bleachResources\images\headImage\test3.png只要写headImage/test3.png就可以了。(注意,window路径的斜杠反了)
注意说明:
&&标签大于[]标签
比如:&font=20&[ff0000]测试[-]&font& 正确
[ff0000]&font=20&测试&font&[-] 错误
&split&&/split& 大于所有标签,必须写最外层
同标签之间不可以包含
&split&labelclick=这是一个,param&split&labelclick=测试,param&/split&文本&/split& 错误,也就是超链接中间,不可以再加超链接
&font=20&这是一个&font=30&测试&/font&文本&/font&
&font=20&这是一个&/font&&font=30&测试&/fomt&&font=20&文本&/font& 这才是上一个错误示例的正确写法
项目地址:/N7ftDl
/// &summary&
/// 异或+16进制加密/解密算法
/// &/summary&
public class XorHex
private const string KEY = “MyKey”; // 密钥
/// &summary&
/// &/summary&
/// &param name=”txt”&&/param&
/// &returns&&/returns&
public static string Encrypt( string txt )
StringBuilder sb = new StringBuilder();
byte[] bs = System.Text.Encoding.Default.GetBytes( txt ); // 原字符串转换成字节数组
byte[] keys = System.Text.Encoding.Default.GetBytes( KEY ); // 密钥转换成字节数组
for( int i = 0; i & bs.L i++ )
bs[i] = (byte)( bs[i] ^ keys[i%keys.Length] );
// 编码成16进制数组
foreach( byte b in bs )
sb.AppendFormat( &#}”, b );
return sb.ToString();
/// &summary&
/// &/summary&
/// &param name=”txt”&&/param&
/// &returns&&/returns&
public static string Decrypt( string txt )
int len = txt.L
byte[] bs = new byte[len/2];
// 16进制数组转换会byte数组
for( int i = 0; i & len / 2; i++ )
bs[i] = (byte)(Convert.ToInt32( txt.Substring( i * 2, 2 ), 16 ) );
byte[] keys = System.Text.Encoding.Default.GetBytes( KEY ); // 密钥转换成字节数组
for( int i = 0; i & bs.L i++ )
bs[i] = (byte)( bs[i] ^ keys[i % keys.Length] );
// byte数组还原成字符串
return System.Text.Encoding.Default.GetString( bs );
向前快走吧
让我那雨伞挡住的世界
不再打扰你
假如爱不是遗忘的话
苦难也不是记忆
记住我的话
一切都不会过去
即使只有最后一棵白桦树
象没有铭刻的墓碑
在宁静的村庄耸立
落叶也会说话
在翻滚中褪色
慢慢地冻结起来
托起我们深深的足迹
谁先默默回忆
谁就会老去查看: 709|回复: 3
UID:464396
UICamera-可以添加到任何相机,包含事件系统.
UICamera是每个UI的重要组成部分.它负责发送Camera中所有NGUI的活动.如果场景中仅有一个Camera,要确保它附有UICamera脚本.如果有多个相机,确保至少用来渲染UI的相机有UICamera脚本.当将这个脚本放在主相机上时,在游戏场景中的所有都将有OnClick, OnHover, OnDrag等事件.
Tooltip Delay:设定悬停与对象多少秒才执行OnTooltip事件.
如果使用Orthographic Projection相机,建议将相机的Size的尺寸设置为当前分辨率高度的一半.比如针对iPad的屏幕分辨率,就设置Size为384.另外一种方法是保持Size是1,缩放UI的Root为该值的倒数,比如在iPad上获得完美尺寸你需要设置Root的缩放到1/384或者0..第二种方法比较容易实行,不过物体在场景视图中照比其他物体会比较小.
如果你仍旧不知道怎么设置正交相机的尺寸,那么尝试看看下面这图.
UIAtlas-定义精灵的纹理图
UIAtlas是一个容器,它包含了一堆sprite的坐标信息.如果你不熟悉这个概念.你可以这样认为:使用一张包含很多小贴图的大贴图比用若干张小贴图更有效率.而大贴图中的小的贴图被称作为精灵(sprite),大纹理成为图集(atlas).
你使用NGUI之前都需要创建一个图集(或使用现有的).可以从这里了解图集的做法.当然也可以直接使用UITexture,但它并不能应对所有问题.
Material:是描述绘制本图集的材料.通常推荐用unlit着色器,比如用.Unlit – Transparent Colored为NGUI.
TP Import:用于导入从TexturePacker导出的精灵.只需要拖拽输出的Txt文件和所有精灵即可.
Coordinates:这允许你从基于像素的坐标系切换为基于UV的坐标系.通常都是以像素坐标系制作,但如果你需要重新调整纹理,则要先切换为纹理坐标.
New Sprite:允许已当前选择的精灵为范本创建新的精灵.
Delete:删除所选精灵.
Sprite:可以通过下拉列表选择所有正在使用的精灵.
Edit Name:重命名精灵的名称.
Outer Rect:设置精灵的外边框.
Inner Rect 设置精灵的内边框,如果你不使用UISlicedSprite,可以跳过这个设置.
Padding:微调校正精灵的偏移量
Correction:基础的校正精灵的坐标使用完美整数像素.
Show:检查精灵在图集中的位置.
可以将精灵组织成组创建多个图集.只要图集共享相同的材质,那么控件仍旧会使用很少的DrawCall.
为达到最佳效果,推荐将纹理的wrap模式设置为"Clamp"和将格式设置为"Truecolor".
将类似的纹理做成一个图集是很好的方式,但是要尽量减少同时使用的图集数量.
如果你是使用Texture Packer工具来创建图集,要在输出设置中选择Unity3D.
如果你是用Photoshop创建图集,你能通过选择工具配合info panel面板来找出精灵的位置和尺寸.
UIFont-字体图集
UIFont可以设置UI所使用的字体数据和材质.可以使用免费的BMFont,或使用更专业的Glyph Designer.一般只做一次字体,保存为一个预设,作为新标签所用的字体.参数:
Import Font:用于导入Glyph Designer.或BMFont输出的FNT(改后缀为TXT)数据.
UIAtlas:用来设置字体纹理所在的图集,根据是否已选定UIAtlas,你会看到一下选项
如果UIAtlas已指定,你可以选择使用字体的精灵.
如果没有指定UIAtlas,你可以选择用来绘制字体的材质.在NGUI中通常用"Unlit"类别下的着色器,如“Unlit – Transparent Colored".
你可以调整字体在材质纹理内的像素矩形.
快速校正完美像素坐标,四舍五入到最近的像素值.
Spacing:可以调整字符之间的间距.
Show:检查字体在纹理贴图中的位置.
为达到最佳效果,推荐将纹理的wrap模式设置为"Clamp"和将格式设置为"Truecolor".
可以将多个字体合并为一个图集.这样整个UI使用这些字体,仍旧会保持一个DrawCall.
你可以给字体增加斜角,阴影,描边等效果,只要确保BMFont导出之前你设置好足够的边距和间距就可以了.
UISprite-从图集中画一个精灵
UISprite是第二个不常用的插件(第一个是UITexture),它唯一用途就是绘制地图集的一部分.
Transform:是很重要的一个组件,每个控件都可以通过Transform来进行位置和大小的调整.它也会影响到"Make Pixel-Perfect".你可以在它和UICamera之间任选一个来进行"完美像素"的调整.
UIAtlas:用来指定所使用的图集.拖拽或者按下左侧的按钮选择最近使用的图集.
Sprite:选择图集中使用的精灵.选择好精灵后.点击一下"Make Pixel-Perfect"会自动为你调整Transform的尺寸.
Depth是避免用Unity的Z排序(效率不好),而且如果你要旋转UI窗口.单纯的通过调整每个控件的Transform的Z轴来排序是不行的.所以要用这个深度来排序.
Color Tint:用来调整色调.
Make Pixel-Perfect:让你快速调整控件的尺寸到实际像素尺寸.
Pivot:选择部件的坐标原点位置.
Preview:预览精灵的纹理.
如果你看到两个控件有闪烁,意味着你设置了同样的Depth导致了重叠,你要调整不同的深度,让它们不重叠.
不要把多个控件混在一起,否则会影响到完美像素这个功能.添加新控件时要注意保持创建新的子对象.
也可以在使用完美像素按钮后再移动组合控件.
Label-用指定的字体绘制一个文本标签
UILabel被用来显示文字.支持多行,只需要用"\n"换行即可.允许用[RrGgBb]来建立彩色文字.
Transform:是很重要的一个组件,每个控件都可以通过Transform来进行位置和大小的调整.它也会影响到"Make Pixel-Perfect".你可以在它和UICamera之间任选一个来进行"完美像素"的调整.
UIFont:你可以选择用于这个标签的字体.你可以拖拽预设或者按下按钮选择最近使用的字体.
可以通过使用"\n"来决定标签是多行还是单行,同样可以用16进制颜色值来定义彩色文字,以[RrGgBb]开始,以[-]结束.如"Hello [FF0000]World[-]!",最后的结果是World是红色的文字.
Line Width:用来指定文字行的最大宽度,如果是单行文本则切掉超出的.如多行文本则会根据宽度自动换行.
Multi-line:选择该项后标签达到最大宽度后会自动换行.
Password:勾选后字符将自动转为星号.
Encoding:勾选后会关闭特殊字符处理,一般用于输入框.
Depth:改边标签控件的层级.
Color Tint:更改文本的主色调.
Make Pixel-Perfect: 让你快速调整控件的尺寸到实际像素尺寸.
Pivot:选择部件的坐标原点位置.
Preview:预览精灵的纹理.
如果你看到文本闪烁或看到被其他控件覆盖了.那么就要调整它的深度.
如果遇到复杂字符串(如斜体,标点,括号混合的)需要增加行宽度避免超宽.
用"\n"和颜色,仅一个标签就可以做到下面的效果.
UIPanel-为控件分组,用于管理和优化DrawCalls
UIPanel用来负责创建实际的几何体.不必特别添加UIPanel,只要创建一个控件,它就会自动被添加.你可以创建多个Panel,用于多个菜单.
Normals:显示法线,用来检查UI正反是否正确.
Gizmos:用来显示几何体,可供选取用.
Debug:配合调试检查场景视图的几何体,如果你开启了这个.就应该取消掉上面Gizmos这个选项.
Widgets:会显示有多少个控件在这个Panel上.
Draw Calls:可以看到用了多少个DrawCall,这个越低越好.
Clipping:可以选择你要显示的部分,默认是不进行裁切的.是利用着色器进行裁切的,如果开启这个选项,NGUI将自动切换为有裁切属性的着色器.
如果开启裁切.你可以通过Center和Size来设置裁切盒.单位为像素.
如果选择柔化边缘裁切,将会有40像素的柔化边缘供处理柔化效果.
Material:是只读的,可以看面板用了多少个材质.一个材质将占用一个DrawCall.
默认情况下如果没有UIPanel的话,会被最根的控件创建并作为其父对象.而且最好让你多个控件都用一个父对象,便于管理.
如果Panels下没有控件.你可以放心的删除这个面板.
如果你删除一个存有控件的Panels,它和它下面的控件都会消失,但是当你播放时,所有控件又会重现,因为又自动创建了一个欣的UIPanel.
当没有变化时,几何体不会重建,这意味着如果有个完全静止的UI,不会没帧都去更新几何形状,相反它也会被重用,提高性能.
UIAnchor-能让控件自动配合屏幕尺寸,填充满屏和保持真实像素尺寸的UI.
UIAnchor有多种用途,其中包括在多种分辨率的屏幕的相对定位.
如果你将它放在2D UI的root上,它会自动进行完美像素处理.
如果将它用于一个对象,它将辅助对象在屏幕上的定位,比如侧边或者角落.
比如放在一个精灵上,可以用来将精灵自动填满整个屏幕,比如做个背景.
HUD Camera是用来绘制该对象的相机,通常会自动选择的.
Side:设置锚点,有4个边,4个角和中心供选择.
Half Pixel Offset:让控件有半像素的位移以避免DirectX 9在Windows机器上的一个Bug.
Stretch To Fill:缩放填充,一般做背景时候会使用它.
Depth Offset:用于基于透视相机时调整计算点的深度.
如果对象有UIAnchor这个脚本,它自身的Transform将不接受你的修改,因为它受控于这个脚本.如果你希望添加基于这个锚点的位移,你可以添加一个子对象.比如你希望有个控件始终在屏幕偏移(100,100)这个位置,你应该在层次面板做这样的结构.UI-&Anchor-&Offset-&Widget.
UIAnchor同样可用于非正交相机.
如果UIOrthoCamera附加到相机,用UIAnchor创建的界面将固定尺寸和位置,无论你将屏幕尺寸改成多大.
Events-NGUI强大的事件系统
UIEvents-事件系统
你可以添加下面的方法脚本到控件或者带有碰撞盒的对象,当然也可以赋予给相机,不过需要相机同时有UICamera脚本:
void OnHover (bool isOver):当鼠标移出或者悬停在某个碰撞器上的时候返回布尔值.在触摸设备上不会有作用.
void OnPress (bool isDown):当鼠标或者触摸到碰撞器发生布尔值返回.
void OnSelect (bool selected):当鼠标或者触摸从OnPress发生后的释放将会返回这个布尔值.
void OnClick():和OnSelect的产生条件相同,当点击或触摸碰撞器并且没有发生拖拽时候触发.
void OnDrag (Vector2 delta):当移动鼠标或者触摸按下时候位移超过特定阀值时触发.
void OnDrop (GameObject drag):当鼠标或触摸释放于从发生OnDrag的不同碰撞器伤触发.传递的参数是产生OnDrag的对象.
void OnInput (string text):当一个OnSelect发生后在同一个碰撞器上触发输入.一般只有UIInput用它.
void OnTooltip (bool show):当鼠标悬停超过tooltipDelay时间后触发该命令.触摸设备上不会有作用.
可以用UICamera.lastCamera找到谁发出的事件,可用UICamera.lastHit得到谁接受这个事件,以及用UICamera.lastTouchPosition得到触摸或屏幕的位置
下面的脚本赋予一个碰撞器时,点击这个碰撞器会输出HelloWorld.
UID:464396
& 老规矩,沙发给自己。
UID:464569
收藏,慢慢看
UID:243207
教程不错,表示支持,就是字体颜色比较艳}

我要回帖

更多关于 ios label自动换行 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信