Unity FairyGUI(五)
一.输入框
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 textInput = com.GetChild("n23").asTextInput;
textInput.maxLength = 5;
textInput.displayAsPassword = false;
textInput.promptText = "请输入密码";
textInput.onChanged.Add(() =>
{
print(textInput.text);
});
textInput.onSubmit.Add(() =>
{
print("输入结束");
});
// textInput.onFocusIn;焦点进入
// textInput.onFocusOut;焦点失去
//textInput.RequestFocus();设置焦点
}
二.组
- 主要作用是把一些图片集中在一起控制显隐
public class Lesson23 : 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 group = com.GetChild("n27").asGroup;
group.y = 0;
//group.visible = false;
group.layout = GroupLayoutType.Horizontal;
var img = UIPackage.CreateObject("Package1", "quanlity_1");
com.AddChild(img);
img.group = group;
for (int i = 0; i < com.numChildren; i++)
{
if (com.GetChildAt(i).group == group)
{
Debug.Log(com.GetChildAt(i)+":在组件当中");
}
}
}
}
三.控制器
-
分页 一个组件可以由多个页面组成。
-
按钮状态 按钮通常有按下、鼠标悬浮等多个状态,我们可以利用控制器为每个状态安排不同的显示内容。
-
属性变化 利用控制器,我们可以使元件具有多个不同的形态,并且可以方便地切换。
public class Lesson24 : 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 com = UIPackage.CreateObject("Package1", "LearnFGUI").asCom;
GRoot.inst.AddChild(com);
var ctrl = com.GetChild("n28").asCom;
var c = ctrl.GetController("c1");
c.onChanged.Add((val) =>
{
Debug.Log(c.selectedIndex);
});
ctrl.GetChild("n0").onGearStop.Add(() =>
{
Debug.Log("播放结束");
});
GearBase.disableAllTweenEffect = false;//是否显示动画
c.selectedIndex = 1;
c.SetSelectedIndex(1);//不会调用相应的回调
//c.selectedPage = "xxx";
//c.SetSelectedPage("xxx");//不会调用相应的回调
}
}