栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Unity3D

Unity FairyGUI(六)

Unity3D 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unity FairyGUI(六)

Unity FairyGUI(六) 一.关联系统

官方文档

  • 一般不会用代码设置关联,除非动态的列表需要设置时
  • UI的九宫格,自适应,随文本改变大小等功能
public class Lesson25 : 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 g = com.GetChild("n29");
        //1.设置关联
        g.AddRelation(com,RelationType.Left_Left);
        g.AddRelation(com,RelationType.Top_Top);
        //2.删除关联
        g.RemoveRelation(com,RelationType.Left_Left);
        g.RemoveRelation(com,RelationType.Top_Top);
        //移除所有关联
        g.relations.ClearAll();
        //移除和关联对象的全部关联
        g.relations.ClearFor(com);
    }
}
二.标签

官方文档

  • title 可以是普通文本,富文本,也可以是标签、按钮。
  • icon 可以是装载器,也可以是标签、按钮。
public class Lesson26 : 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", "LearnFGUI2").asCom;
        GRoot.inst.AddChild(com);

        var label = com.GetChild("n5").asLabel;
        label.text = "3657789";
        label.icon = "ui://1wrrn0eqmis430";

        //也可以直接通过GObject设置
        //com.GetChild("n5").text = "xxx";
        //com.GetChild("n5").icon = "xxx";
        //label本质是一个组件,可以根据子类直接获取
        //label.GetChild("xxx").asTextField;
        //label.GetChild("xxx").asLoader;
    }
}
三.按钮

官方文档

public class Lesson27 : MonoBehaviour
{
    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 t = UIPackage.GetItemAsset("Package1", "btnMusic");
        Debug.Log(t);
        UIConfig.buttonSound = t as NAudioClip;
        UIConfig.buttonSoundVolumeScale = 0.5f;
        
        //包含了上面的buttonSoundVolumeScale大小,包括动效音量
        GRoot.inst.EnableSound();
        GRoot.inst.DisableSound();
        GRoot.inst.soundVolume = 0.5f;
        
        var com = UIPackage.CreateObject("Package1", "LearnFGUI2").asCom;
        GRoot.inst.AddChild(com);


        var btn = com.GetChild("n9").asButton;
        btn.text = "哈哈哈";
        btn.onClick.Add(() =>
        {
            print("按钮点击!");
        });
        //可以自由设置点击的行为
        btn.FireClick(true,true);
        //只会执行相关绑定的委托逻辑,不会执行动画等
        btn.onClick.Call();
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/900672.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号