读一读

private InputField ddInputField;
this.ddInputField = transform.Find("InputField-dd").GetComponent<InputField>();

private void OnInputChange(string s) {
        Debug.Log(s);
        Debug.Log(this.ddInputField.text);
}

private void OnInputEnd(string s) {
        Debug.Log(s);
}

this.ddInputField.onValueChanged.AddListener(OnInputChange);
this.ddInputField.onEndEdit.AddListener(OnInputEnd);


可以通过访问InputField的text属性获取用户输入

可以监听输入框输入改变和输入完成


InputField输入框,作用当然是用来接受用户输入的了

Interaction 是否可交互

Transition 过度效果

TextComponent 用来承载输入文本的TextUI

Text TextUI的Text脚本的text属性的内容(玩家输入的文本)

Character Limit 输入字符个数限制,0不限制

Content Type 输入的类型

  1. Standard 所有字符

  2. Autocorrected 自动类型

  3. Integer Number 整数类型

  4. Decimal Number 浮点类型

  5. Alphanumeric 字母和数字

  6. Email Address 邮箱地址

  7. Password 密码,字符显示为*

  8. Pin 只能输入数字的密码*

Line Type 单行或多行

Placeholder 提示输入文本的TextUI

Caret Blink Rate 光标的跳动速度

Caret Width 光标的宽度

Custom Caret Color 自定义光标的颜色

Selection Color 输入框文本被选中时的背景颜色

Read Only 是否只读


private Dropdown ddDrpodown;
this.ddDrpodown = transform.Find("Dropdown").GetComponent<Dropdown>();

private void OnDropdownChange(int val) {
        Dropdown.OptionData optionItem = new Dropdown.OptionData("Option"+Random.Range(3, 100));
        this.ddDrpodown.options.Add(optionItem);
        if (val == 2) {
            this.ddDrpodown.options.Clear();
        }

        Debug.Log(val);
    }
    
this.ddDrpodown.onValueChanged.AddListener(OnDropdownChange);

这里可以看出通过Add()方法添加Option,类型为Dropdown.OptionData

使用Clear()方法可以清空选项


下拉选择框,用来选择给予选项的一个

Template 模板,用来生成列表的

Caption Text 默认选择时文字

Caption Image 默认选择时的图片

Item Text 列表项使用的文字

Item Image 列表项使用的图片

Value 选择选项的值,由上到下0开始递增

Option 选项值Item


private Slider ddSlider;
this.ddSlider = transform.Find("Slider-dd").GetComponent<Slider>();

private void OnSliderChange(float val) {
        Debug.Log(val);
}

this.ddSlider.onValueChanged.AddListener(OnSliderChange);

监听滑动条滑动值改变事件,val传入的值就是value


Slider滑动条,其实就是一个数值范围的选择器

Direction 设置滑动的方向

Min Value,Max Value 滑动最小最大值,控制范围

Whole Numbers 是否只取整数值

Value 当前滑动条代表的值


开关组,一个脚本可以联系上任何物体,再指定Toggle的Group为这个物体,这样就可以将赋值了这个Group的Toggle组在一起,变成单选

Allow Switch Off 可以一个都不选择


private Toggle ddToggle;
this.ddToggle = transform.Find("Toggle-dd").GetComponent<Toggle>();

private void OnDdToggle(bool isCheck) {
        if (isCheck)
        {
            Debug.Log("我被人选了");
        }
        else {
            Debug.Log("我没有被人选");
        }
    }
    
this.ddToggle.onValueChanged.AddListener(OnDdToggle);

这里监听了开关的改变事件,isCheck传入就是Toggle的Is On值


开关选项,用来选择选项和开关触发

Interactable 是否可交互

Transition 过渡效果,看Button

Is On 是否被选择

Group 一个Toggle Group,在一个组里的Toggle只能选择一个


private Button ddButton;
this.ddButton = transform.Find("Button-dd").GetComponent<Button>();

public void OnDdPressEvent() {
        Debug.Log("hello button");
        this.ddButton.gameObject.transform.Find("Text").GetComponent<Text>().text = "我被修改饿了";
}
this.ddButton.onClick.AddListener(OnDdPressEvent);

通过脚本添加事件监听。