Unity学习之UGUI(二)

六、Image

1、作用

图像控件,用于显示Sprite的关键组件,除了背景图等大图,一般都是使用Image来显示UI中的图片元素

2、主要参数


(1)Image Type------Sliced(拉伸)

Sliced-切片模式,9宫格拉伸,只拉伸中央十字区域(适合需要横向或者纵向拉伸的图形)

(2)Image Type------Tiled(重复)

Tiled,平铺模式,重复平铺中央部分,适合一些用于做底部纹理的图片

(3)Image Type------Filled(填充)

Filled,填充模式,有不同的填充类型,从无到有或者从有到无,可以用于血条等图形

Fill Method,填充类型

Fill Origin,填充原点

Fill Amount,填充量

Clockwise,顺时针方向

Perserve Aspect,保持宽高比

3、代码控制

csharp 复制代码
Image image = this.GetComponent<Image>();
image.fillAmount = 0.5f;

七、Text

1、作用

用于文本内容显示

2、主要参数

(1)富文本

类似于html,可以在文本内容中进行文本格式的设置

3、边缘线和阴影

(1)边缘线

(2)阴影

4、代码控制

csharp 复制代码
Text text = this.GetComponent<Text>();
text.text = "你好";

八、RawImage

1、作用

RawImage是原始图像组件,用于显示任何纹理的关键组件。

一般RawImage用于显示大图(背景图、不需要打入图集的照片、不需要网络下载的图等等)

2、主要参数


3、代码控制

csharp 复制代码
RawImage rawImage = this.GetComponent<RawImage>();
rawImage.texture = Resources.Load<Texture>("ui_TY_lvseshuzi_00");

九、Button

1、作用

Button是按钮组件,是玩家用于交互的关键组件

Button主要由两个对象组成

父对象:Button依附对象,同时挂载了一个Image组件,作为按键背景图

子对象:按钮文本,挂载一个Text组件,如不需要可以删除

2、主要参数



3、代码控制

csharp 复制代码
    void Start()
    {
        //代码控制
        Button button = this.GetComponent<Button>();
        button.interactable = true;
        button.transition = Selectable.Transition.None;
        //添加按钮事件
        button.onClick.AddListener(ButtonClick);
        //移除按钮事件
        button.onClick.RemoveListener(ButtonClick);
    }

    void ButtonClick()
    {
        print("1");
    }

十、Toggle

1、作用

Toggle是开关组件,用于处理玩家单选框多选框相关交互的关键组件

多个Toggle,默认是多选框,可以通过配合ToggleGroup组件制作为单选框

默认创建Toggle包含4个对象组成

父对象:Toogle组件依附

子对象:背景图(必备),选中图(必备),说明文字(可选)

2、主要参数


3、代码控制

csharp 复制代码
    void Start()
    {
        Toggle toggle = this.GetComponent<Toggle>();
        //打印当前的toggle是否被选中
        print(toggle.isOn);

        //通过ToggleGroup找出当前哪个toggle被选中
        ToggleGroup toggleGroup = this.GetComponent<ToggleGroup>();
        foreach (var item in toggleGroup.ActiveToggles())
        {
            print(item.name + " " + item.isOn);
        }
        //监听事件添加
        toggle.onValueChanged.AddListener(Change);
    }

    public void Change(bool isOn)
    {
        print("状态改变" + isOn);
    }

十一、InputField

1、作用

InputField,是UGUI中处理玩家文本输入相关交互的关键组件

默认创建包含3个对象

父对象:InputField组件依附对象,同时还挂载了一个Image组件作为背景图

子对象:文本显示组件(必备),默认显示文本组件(必备)

2、主要参数


(1)Content Type,输入的字符类型限制


(2)Line Type,行类型

3、代码控制

csharp 复制代码
void Start()
    {
        //获取输入的文本内容
        InputField inputField = this.GetComponent<InputField>();
        string input = inputField.text;

        //监听事件
        inputField.onValueChanged.AddListener(ChangeInput);
        inputField.onEndEdit.AddListener(EnInput);
    }

   public void ChangeInput(string str)
   {
        print("改变的输入内容"+"  "+str);
   }

   public void EnInput(string str)
    {
        print("结束时输入内容" +"  "+ str);
    }
相关推荐
云上艺旅5 小时前
K8S学习之基础七十四:部署在线书店bookinfo
学习·云原生·容器·kubernetes
你觉得2055 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
omegayy6 小时前
Unity 2022.3.x部分Android设备播放视频黑屏问题
android·unity·视频播放·黑屏
A旧城以西7 小时前
数据结构(JAVA)单向,双向链表
java·开发语言·数据结构·学习·链表·intellij-idea·idea
无所谓จุ๊บ7 小时前
VTK知识学习(50)- 交互与Widget(一)
学习·vtk
FAREWELL000757 小时前
C#核心学习(七)面向对象--封装(6)C#中的拓展方法与运算符重载: 让代码更“聪明”的魔法
学习·c#·面向对象·运算符重载·oop·拓展方法
吴梓穆7 小时前
UE5学习笔记 FPS游戏制作38 继承标准UI
笔记·学习·ue5
Three~stone7 小时前
MySQL学习集--DDL
数据库·sql·学习
齐尹秦8 小时前
HTML 音频(Audio)学习笔记
学习
瞌睡不来8 小时前
(学习总结32)Linux 基础 IO
linux·学习·io