U4S5L5——包裹溢出、UV映射相关
U4S5L5——包裹溢出、UV映射相关 包裹或溢出相关 Wrapping:包裹 Disabled:禁用后,不会因为控件大小的变化而自动换行了 Enabled:启用后,当控件大小变化时,会自动换行去适应大小 Overflow:溢出 Overflow:溢出 扩展到显示区域外(但如果启用了包裹,会自动换行) Ellipsis:省略 截断文本可视范围外内容,用省略号代替 Masking:遮罩 和 Overflow 类似,但是会隐藏显示区域以外的所有内容 Truncate:截断 超出范围的内容不再显示 Scroll Rect:滚动矩形(仅兼容旧版本) 此选项仅用于与较旧的 TextMeshPro 项目兼容 对于新项目,需要使用遮罩模式 Page:分页 将文本剪切成多个页面,每个页面都适合显示区域 选择此选项后,右侧可以控制要显示的页面 Linked:联系 将文本扩展到选择的另一个 TextMeshPro...
U4S5L4——颜色、间距、对齐相关
U4S5L4——颜色、间距、对齐相关 颜色相关 Vertex Color:顶点颜色 材质和纹理的颜色会乘以该颜色,决定字体颜色 Color Gradient:颜色渐变,勾选后出现新的参数 Color Preset:颜色预设,详见:U4S5L16——颜色渐变预设 Color Mode:颜色模式 Single:和顶点颜色叠加 Horizontal Gradient:双色水平渐变 Vertical Gradient:双色垂直渐变 Four Corners Gradient:四色四角渐变 Colors:根据颜色模式决定有几个颜色设置 以 Four Corners Gradient 为例 显示效果: Override...
U4S5L3——输入、字体相关
U4S5L3——输入、字体相关 文本输入相关参数 Text Input:文本输入框 输入的文本会在控件中显示 默认字体不包括中文,因此直接输入中文会无法显示 需要创建中文字体后,才能正常显示中文 Enable RTL Editor:启用 RTL 编辑器 开启该选项后,可以从右到左显示文本, 并且会在下方看到一个额外的输入框 RTL Text Input 可以在其中查看反转的文本并直接对它进行编辑 Text Style:文本样式,可以设置文本控件的样式 H1、H2、H3:代表标题级别 C1、C2、C3:代表颜色级别,用于定义不同文本的颜色,通常用于区分信息 Quote:代表引用文本像是,一边表示引用别人的内容 Link:超链接文本格式样式 Normal:普通话正文文本样式 样式可以自定义,详见:U4S5L15——样式表 字体参数相关 Font Asset:字体资源 可以选择默认的字体资源,TMP中的字体可以自定义 关于字体自定义,详见:U4S5L9——字体资源创建的基本流程 Material...
U4S5L2——初始化TMP的UI文本控件
U4S5L2——初始化TMP的UI文本控件 创建 TMP UI 文本对象 两种方式: Hierarchy窗口右键 ——> UI ——> TextMeshPro相关控件 工具栏点击GameObject ——> UI ——> TextMeshPro相关控件 UGUI相关组件 RectTransform:矩形变换组件在UGUI中有详细讲解 Canvas Renderer:画布渲染器 Cull Transparent Mesh(剔除透明网格):对于文本建议勾选 TextMeshPro - Text (UI) 组件参数 参数将分成以下几部分进行讲解 输入相关 字体相关 颜色相关 间距相关 对齐相关 包裹溢出相关 UV映射相关 额外设置 对于最下方的 SDF 材质球相关的设置,详见:U4S5L19——SDF 材质球和参数设置 脚本控制TMP UI组件 详见:U4S5L7——脚本控制TMP
U4S5L1——导入TMP
U4S5L1——导入TMP 导入TMP相关资源 我们在正式使用学习TMP之前,需要导入它的必备资源和事例拓展内容 如果老版本中想要使用TMP,只需要在Package Manager中下载即可 Unity 2020 以上版本,两种方式: 方式一:顶部工具栏:Window ——> TextMeshPro ——> Import TMP Essential Resources(导入TMP基本资源) 方式二:在 Hierarchy 窗口中右键创建TMP相关的对象时,在弹出窗口中点击 Import TMP Essentials 导入成功后,会在 Assets 窗口中看到Text Mesh Pro文件夹,其中就是TMP的相关基础资源 导入TMP示例和附加功能 Unity 2020 以上版本,两种方式: 方式一:Window ——> TextMeshPro ——> Import TMP Examples and Extras(导入TMP事例和附加功能) 方式二:在 Hierarchy 窗口中右键创建 TMP...
U4S5——Text Mesh Pro
U4S5——Text Mesh Pro Text Mesh Pro Text Mesh Pro 最初是由游戏开发者 Stephan Bouchard(斯蒂芬·布沙尔)开发的, 是一个主要用于处理2D、3D文本的工具。 后来 Unity 注意到了这款强大的文本渲染工具,于 2017 年对该工具进行了收购 在 Unity 2018 版本时,Text Mesh Pro 成为了 Unity 的内置软件包,可以通过 Package Manager 对其进行安装和管理。 从 Unity 2020 版本开始,UGUI 默认的文本控件变成了 Text Mesh Pro 也就是说在 Unity 2020 版本之后,我们在使用 UGUI 时,创建各种和文本相关的控件时, 引擎会默认选择使用 Text Mesh Pro 处理文本控件,虽然我们还可以在 Legacy 页签中,创建老的 Text 文本控件, 但是从 Unity 的发展上来说,学习 Text Mesh Pro...
CS4L15——Lambda表达式
CS4L15——Lambda表达式 lambda表达式 可以将 lambda 表达式 理解为 匿名函数 的缩写 它除了写法不同外,使用上和匿名函数一模一样 都是和委托或者事件 配合使用的 匿名函数存在闭包这个概念,闭包确保了内层的匿名函数可以引用包含在它外层的函数的变量,即使外层函数的已经执行完毕 注意:通过调用 使用闭包变量的匿名函数 时,闭包变量的值不是变量创建时的值,而是在父函数(严格来说是作用域)范围内的最终值!!! lambda表达式语法 1234567891011//匿名函数delegate (参数列表){};//lambda表达式(参数列表) =>{ //函数体}; 使用 无参无返回值 12345Action a = () =>{ Console.WriteLine("无参无返回值的lambda表达式");};a(); 输出: 1无参无返回值的lambda表达式 有参 12345Action<int> a2 = (int value)...
CS4L14——匿名函数
CS4L14——匿名函数 匿名函数 顾名思义,就是没有名字的函数,它主要用于传递一段简单且不会直接调用(主要通过委托调用)的逻辑 匿名函数的使用主要是配合委托和事件进行使用,直接将函数逻辑传递出去,而不用额外声明一个函数 脱离委托和事件 是不会使用匿名函数的(脱离委托事件也无法调用匿名函数,因为没有函数名让我们调用) 关于匿名函数的简便写法以及闭包等,详见:CS4L15——Lambda表达式 基本语法 1234delegate (参数列表){ //函数逻辑} 何时使用? 函数中传递委托参数时 委托或事件赋值时 匿名函数的声明和使用 注意:使用 delegate 关键字定义的匿名函数最后要加 “;” !!! 匿名函数必须要被一个委托或事件存储,或者作为参数传递,单独声明匿名函数是会报错的 真正调用匿名函数的时候,是在存储这个匿名函数的委托被调用的时候 有返回值的匿名函数不需要在 delegate 前加变量类型,直接在 Func 里或者接收逻辑的委托中指明返回值类型即可 无参无返回值 12345678Action a =...
CS4L13——事件
CS4L13——事件 本章代码关键字 1event //事件关键字 事件 事件是基于委托是存在,是委托的安全包裹 事件用于修饰委托成员变量,让委托的使用更具有安全性 事件和委托的使用基本是一模一样的,事件就是特殊的委托 委托和事件主要区别 事件 不能在外部使用赋值 = 符号,只能使用 += 和 -=,而委托哪里都能用 事件 不能在外部执行 委托哪里都能执行 事件 不能作为函数中的临时变量 委托可以 事件的使用 申明语法:访问修饰符 event 委托类型 事件名; 事件的使用: 事件是作为成员变量存在于类中 委托怎么用,事件就怎么用 事件相对于委托的区别是,事件不能在类外部赋值和调用 注意:事件只能作为成员存在于类和接口和结构体中 1234567891011121314151617181920212223242526272829303132333435363738394041class Test{ //委托成员变量 是用来存储 函数的 public Action myFun; //事件成员变量 也是用来存储 函数的 ...
CS4L12——委托
CS4L12——委托 本章代码关键字 1234delegate //委托声明关键字Action<> //C#自带的无返回值委托Func<> //C#自带的有返回值委托Invoke() //委托可以使用此方法来执行存储于其中的方法 委托 委托是函数(方法)的容器,可以理解为表示特定格式(参数列表和返回值类型一致)的函数(方法)的变量类型,用来存储传递函数(方法) 委托的本质是一个类,用来定义函数(方法)的类型(返回值和参数的类型), 不同的函数(方法)必须对应和各自 “格式“ 一致(即参数列表和返回值类型必须一致)的委托 简单理解 委托 就是装载、传递函数的容器而已,可以使用委托变量来 存储函数 或者 传递函数 系统已经提供了很多委托给我们用: Action:没有返回值,参数提供了 0-16 个委托给我们用 Func: 有返回值,参数提供了 0-16...