官方文档
- 一般不会用代码设置关联,除非动态的列表需要设置时
- 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();
}
}



