NGUI -- UILabel

article/2025/9/29 19:58:55

注意:本文翻译时NGUI版本已经更新到3.0.7

原文地址:http://www.tasharen.com/forum/index.php?topic=6706

总览

UILabel是能用于显示文本的挂件。


所有Label需要一个字体才能正常工作。这个字体可以是动态的(Dynamic)(直接引用Unity字体),或者是一个位图字体--嵌入在图集中的字体。Dynamic字体更具鲁棒性,因为他们不需要你预先生成字形,但位图字体能作为你图集的一部分在相同的draw call内绘制,而且能使用像Photoshop此类的编辑工具制作精美的字体。


你能通过改变label的轴心点来改变它的对齐方式。Top-left,Left和Bottom-Left轴心点将导致文本左对齐。Top,Center或Bottom将使文本居中对齐。Top-Right,Right或Bottom-Right将让你的文本右对齐。

对于动态字体,你可以在你的label上直接设置字体大小和样式。如果你需要的话,你也能设置将使用绘制的材质。

那个大框--正如你猜的那样--就是你输入文本的地方。它默认使多行的文本,除非你限制了最大的行数。

Overflow处理让你决定当label的text超过允许长度的时候应该怎么处理。


  • Shrink Content 意味着内容会自动被缩小以便适应区域。它在你使用动态字体的同时使用Keep Crisp设置时有效,让字体变小,而不是缩放内容。
  • Clamp Content简单意味着如果文本没有适应,就直接截断。
  • Resize Freely选项让label的大小通过文本来控制。你不能自己修改大小。
  • 最后的选项,Resize Height将在必要的时候增加label的高度,但会保持宽度是常量。

spacing域可以让你调整字符间的距离。正负数都可以,单位是像素。

Max Line,像之前提到的,可以让你控制你最大想要多少行。0的话是不限制。

你可以关闭Encoding,如果你不需要处理颜色标签和情感符。Input输入框默认关闭这个。

如果你愿意,你也可以通过指定顶部和底部颜色来让标签渐变。

你可以让你的文本有阴影或外边框效果,不过注意,阴影会增加双倍几何,而外边框则是5倍。——所以请小心使用这个特性。distance参数控制了影子或外描边距离源文本多远,单位像素。

为了在运行时修改label的文本,你能这么做:

UILabel lbl = GetComponent<UILabel>();
lbl.text = "hello world";


Pro-Tip #1

你能增加粗体,斜体,下划线和其它效果到你的标签。通过bbcode语法:

[b]bold[/b]
[i]italic[/i]
[u]underline[/u]
[s]strikethrough[/s]


你也可以像下面这么做在你的标签中来嵌入可点击链接:

[url=Some Message or Link]Click Me[/url]


为了获得你点击的,增加一个box collider到你的label(ALT+SHIFT+C),而且代码差不多像下面这样:

void OnClick ()
{UILabel lbl = GetComponent<UILabel>();string url = lbl.GetUrlAtPosition(UICamera.lastHit.point);Debug.Log("Clicked on: " + url);
}


Pro-Tip #2

你也可以通过给标签指定一个暗的前景色和一个明亮的影子效果让标签看起来是斜切的。


类文档

http://tasharen.com/ngui/docs/class_u_i_label.html




如果你有一些和这个组件相关的问题,也可以在下面讨论。

如果你有一些和这个组件相关的问题,也可以在下面讨论。

http://chatgpt.dhexx.cn/article/dmUgFQxL.shtml

相关文章

NGUI -- UIPanel

注意&#xff1a;本文翻译时NGUI版本已经更新到3.0.7 原文地址&#xff1a;http://www.tasharen.com/forum/index.php?topic6705 总览 UIPanel是一个保存并管理它下面所有挂件的组件。UIPanel负责通过挂件的几何结构创建真正的draw call。如果没有Panel&#xff0c;没有任何…

NGUI使用教程(1) 安装NGUI插件

前言 鉴于当前游戏开发的大势,Unity3d的发展势头超乎我的预期&#xff0c;作为一个Flash开发者,也是为Flash在游戏开发尤其是手游开发中的地位感到担忧....所以 最近一段时间都在自己学习unity3d,技术只有不断学习才能跟上迅猛的计算机潮流&#xff0c;所以博主写这篇文章即是自…

UI(一) - NGUI和UGUI比较

UI是游戏项目中重要的组成部分&#xff0c;面对一个从零开始的项目&#xff0c;首先要确立的就是选用哪个UI系统作为主框架。 现在主流项目中基本上都是NGUI和UGUI&#xff0c;那么到底选哪个。我们先来做个比较。 图集处理功能比较 NGUI需要使用工具手动拼接图片成图集。UGUI…

NGUI系列教程一

首先导入NGUI package &#xff0c;这里我们选用的是2.6.3 版本的NGUI 。在 unity 工程窗口中点击右键选择 Importpackage custom package &#xff0c;选择你下载的NGUI 插件&#xff0c;导入完成后效果如图: &#xff11;&#xff0e;选择菜单NGUIOpen the UI Wizard,弹出创建…

最新版本的NGUI插件NGUI Next-Gen UI

NGUI的最新版本&#xff0c;在商店上直接卖95美元 由于Unity自身版本升级的原因&#xff0c;以及Unity5之后自带了UGUI&#xff0c;所以NGUI的使用率也大大下降了。 更何况&#xff0c;Unity2017版本之后很多老版本NGUI就用不了&#xff0c;很大一部分原因是Unity新版本弃用一…

UI框架的使用(NGUI)

1.导入资源包 2.把NGUI面板制作成预设体&#xff0c;然后把预设体拖到Resources/UIPanel中&#xff08;一定要放在Resources/UIPanel中&#xff0c;后面路径读取的时候就是这个路径&#xff09; 3.为各自面板建立对应的脚本&#xff0c;然后再把脚本挂给对应的面板 4.为各个…

【Unity】NGUI下载与导入

NGUI是UGUI出现之前的Unity3D最流行的UI插件,很多比较早的游戏教程都是用的NGUI。 本人因学习原因需要用到NGUI,但捣鼓了很久才成功(导入后菜单栏没有NGUI),下载了几个版本才发现是版本问题,现将下载与导入使用NGUI的方法总结如下,节省大家时间,少走弯路。 1、下载NGUI…

Unity学习日志_NGUI简介

Unity学习日志_NGUI简介 NGUI仅支持相机模式。 UIRoot UIRoot类似于UGUI中Canvas的UI Scaler组件&#xff0c;负责缩放模式调节。 属性&#xff1a; Scalling Style&#xff1a; Flexible&#xff1a;旧版本叫PixelPerfect&#xff0c;指永远保持图片自身像素大小不变。适合…

NGUI简介

NGUI NGUI是一款为Unity游戏引擎开发的工具功能扩展的UI插件&#xff0c;它能够为开发者提供了方便快捷的UI设计方法&#xff0c;加快设计游戏的速度。详细的介绍还是请读者到NGUI官网查看&#xff1a; http://www.tasharen.com/?page_id140 在Unity中&#xff0c;如果要使…

NGUI

&#xff08;一&#xff09;NGUI NGUI概述&#xff1a;NGUI是严格遵循KISS原则并用C#编写的Unity&#xff08;适用于专业版和免费版&#xff09;插件&#xff0c; 全面支持iOS/Android和Flash。相比UGUI&#xff08;Unity自带的UI系统&#xff09;&#xff0c;有着更高的性能和…

【Unity】 NGUI学习笔记(二)NGUI基础功能

文章目录 NGUI基础功能与知识点Atlas图集资源Sprite精灵Button按钮Anchor&#xff08;锚点&#xff09;Label文本Toggle开关Slider滑动条Popup List下拉框Panel面板Input Field Script文本域脚本Text List组件Chat Input组件Scroll Bar滚动条&#xff08;预制件&#xff09;Scr…

NGUI插件的使用

一、NGUI的公有属性 Widget面板属性&#xff1a; Privot设置原点位置 Depth设置深度&#xff08;跟UGUI一样&#xff0c;深度高的会挡住深度低的UI&#xff09; Snap恢复初始大小 Size设置大小 Aspect宽度/高度&#xff0c;&#xff08;Free模式下才可设置高度和宽度&#xff0…

网上订餐系统项目实战

写在前面&#xff1a;学习编程过程中写的一个网上订餐系统&#xff0c;记录一下大概的思路&#xff0c;源码跟实现过程 &#xff0c;这也是一个学习的过程&#xff0c;这时候还有很多不足的地方 MVC的分层做得不是很好&#xff0c;如果还有其他可以改进的地方&#xff0c;欢迎…

肯德基宅急送网上订餐系统(移动扫码点餐)的设计与实现(小程序+PHP+MySQL)

目 录 第1章 绪论 1 1.1研究背景及意义 1 1.2研究现状 1 1.3章节安排 2 第2章 关键性技术介绍 3 2.1 PHP 3 2.2 JSON 4 2.3 XML 5 2.4 HTML 5 2.5 Mysql介绍 6 第3章 需求分析 7 3.1系统业务流程分析 7 3.2 功能需求分析 8 3.3用例分析 10 3.3.1领域类图 10 3.3.2系统用例 14 3…

基于移动端的网上订餐系统的设计和实现

随着智能手机的快速普及,智能手机操作系统市场风生水起。为了让智能手机能够随时随地地查询互联网所提供的服务,一种高效的方法就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网络以及互联网访问相关资源信息。因此,智能手机应用软件及其需要的服务将有广阔的发展前…

基于javaweb+mysql的网上订餐在线点餐管理系统(前台、后台)

基于javawebmysql的网上订餐在线点餐管理系统(前台、后台) 运行环境 Java≥8、MySQL≥5.7、Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计&#xff0c;大作业&#xff0c;毕业设计&#xff0c;项目练习&#xff0c;学习演示等 功能说明 …

Java+mysql毕业设计,网上订餐系统

1 绪 论 1.1 网上订餐配送系统的简介 本系统是基于B/S架构的系统。随着互联网技术与时俱进的不断更迭&#xff0c;人们对订餐的方式要求也逐渐提高&#xff0c;而本文所论述的网上订餐配送系统&#xff0c;正式随着互联网的兴起应运而生的。本系统能够帮助用户远程浏览餐饮信…

Java基础实战项目-------网上订餐系统

目录 前言 项目需求 项目环境准备 技能点 实现思路 ​编辑 项目总结 完整代码&#xff1a; 前言 已学完Java基础部分的内容&#xff0c;如下 理解程序的基本概念&#xff1a;程序、变量、数据类型 会使用顺序、选择、循环、跳转语句编写程序 会使用数组以及Arrays的…

毕设系统之网上订餐管理系统

距离毕业已经过去一个月了&#xff0c;毕设那一段难忘的时光相信大家也都还记得&#xff0c;我当时做的毕设系统是网上订餐管理系统&#xff0c;有三个角色&#xff0c;分别是管理员、用户&#xff08;含会员&#xff09;、商家&#xff0c;所用的技术为SpringBootMybatisThyme…

网上订餐系统需求分析报告

一&#xff0e;研究意义 随着计算机和网络的日趋发展&#xff0c;网上店铺如雨后春笋般出现&#xff0c;就连沃尔玛&#xff0c;金拱门这一类老品牌的商家都开拓了自己的网上购物渠道&#xff0c;有调查表明:无论是中国还是西方国家&#xff0c;越来越的用户已经习惯于网络购物…