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();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值