IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity FairyGUI(四) -> 正文阅读

[游戏开发]Unity FairyGUI(四)

Unity FairyGUI(四)

一.文本控件

官方文档

  • 文本是FairyGUI的基础控件之一。文本不支持交互,鼠标/触摸感应是关闭的。
  • 普通文本不支持语法中的img、url标签,因为普通文本是不可以图文混排的。要支持图文混排,改为使用富文本。
public class Lesson18 : MonoBehaviour
{
    private void Start()
    {
        GRoot.inst.SetContentScaleFactor(1365, 768,
            UIContentScaler.ScreenMatchMode.MatchHeight);
        var pack = UIPackage.AddPackage("Package1");
        foreach (var item in pack.dependencies)
            UIPackage.AddPackage(item["name"]);
        var com = UIPackage.CreateObject("Package1", "LearnFGUI").asCom;
        GRoot.inst.AddChild(com);

        var text = com.GetChild("n18").asTextField;
        text.textFormat.size = 30;
        text.align = AlignType.Left;
        text.verticalAlign = VertAlignType.Top;
        text.SetVar("jin", "99999");
        text.SetVar("yin", "99999");
        text.FlushVars();

        text.templateVars = new Dictionary<string, string>()
        {
            {"jin", "888888"},
            {"yin", "666666"}
        };

        var gText = new GTextField
        {
            color = Color.green
        };
        gText.textFormat.size = 30;
        gText.SetSize(200, 50);
        gText.text = "你好";
        com.AddChild(gText);
    }
}

二.字体

官方文档

  • 在初始化UI之前设置字体
  • 需要在UI中重新设置默认字体才能生效
  • 需要从Resources或者Fonts子目录下加载
public class Lesson20 : MonoBehaviour
{
    private void Start()
    {
    	//在初始化UI之前设置字体
        //需要从Resources或者Fonts子目录下加载
        UIConfig.defaultFont = "STHUPO";
        //如果自定义加载
        var font = Resources.Load<Font>("xxx");
        var dynamicFont = new DynamicFont("xxx", font);
        FontManager.RegisterFont(dynamicFont);
        //如果要使用TextMeshPro需要加上宏定义
        
        GRoot.inst.SetContentScaleFactor(1365, 768,
            UIContentScaler.ScreenMatchMode.MatchHeight);
        var pack = UIPackage.AddPackage("Package1");
        foreach (var item in pack.dependencies)
            UIPackage.AddPackage(item["name"]);
        var com = UIPackage.CreateObject("Package1", "LearnFGUI").asCom;
        GRoot.inst.AddChild(com);
    }
}

二.富文本控件

官方文档

  • 富文本与普通文本的区别在于:
  • 普通文本不支持交互,鼠标/触摸感应是关闭的;富文本支持。
  • 普通文本不支持链接和图文混排;富文本支持。
  • 普通文本不支持HTML语法(但可以使用UBB实现不同样式);富文本支持。
public class Lesson21 : MonoBehaviour
{
    private void Start()
    {
        HtmlParseOptions.DefaultLinkUnderline = true;
        HtmlParseOptions.DefaultLinkColor = Color.red;
        HtmlParseOptions.DefaultLinkBgColor = Color.green;
        HtmlParseOptions.DefaultLinkHoverBgColor = Color.yellow;
        
        GRoot.inst.SetContentScaleFactor(1365, 768,
            UIContentScaler.ScreenMatchMode.MatchHeight);
        var pack = UIPackage.AddPackage("Package1");
        foreach (var item in pack.dependencies)
            UIPackage.AddPackage(item["name"]);
        var com = UIPackage.CreateObject("Package1", "LearnFGUI").asCom;
        GRoot.inst.AddChild(com);
        
        
        var richTextField = com.GetChild("n21").asRichTextField;
        richTextField.onClick.Add(() =>
        {
            Debug.Log("点击");
        });
        richTextField.onClickLink.Add((linkStr) =>
        {
            Debug.Log(linkStr.data);
        });

        var richTextField1 = com.GetChild("n22").asRichTextField;
        richTextField1.richTextField.htmlParseOptions.linkColor = Color.yellow;
        richTextField1.richTextField.htmlParseOptions.linkBgColor = Color.blue;
        richTextField1.richTextField.htmlParseOptions.linkHoverBgColor = Color.green;
        
        GRichTextField aRichTextField = new GRichTextField();
        aRichTextField.SetSize(100,100);
        aRichTextField.text = "<a href='xxx'>Hello World</a>";
        com.AddChild(aRichTextField);
    }
}
  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 23:44:40  更:2022-04-01 23:45:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 18:45:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码