UGUI基础内容

一、Canvas

 

1. Screen Space - Overlay:

这种渲染模式表示 Canvas 下的所有的 UI 控件永远位于屏幕的前面 , 不管有没有相机 , UI元素永远在屏幕最前面 ,主要是2D效果。

 2. Screen Space - Camera:

这种渲染模式 Canvas 和 摄像机之间有一定的距离 , 可以在摄像机和 Canvas 之间播放一些粒子特效,主要是3D效果。

3. World Space

这种模式下 Canvas 就和普通的 3D 物体一样了 , 可以控制它的大小,旋转,缩放等 。这种渲染模式使得UI元素和3D世界中的物体产生遮挡效果。

二、Text

1、Text显示的文本

2、Font使用的文字的字体

3、FontStyle:文字字体样式

4、LineSpacing:行间距

5、Alignment:对齐方式;

6、Color:字体的颜色;Size:大小;B:加粗;I:倾斜;

7、Horizontal:溢出(在世界坐标表示水平坐标)

8、Vertical:溢出(在世界坐标表示垂直坐标)

9、RichText:多格式文本;

10、BestFit:最佳匹配方式

三、Panel

Panel 控件又叫面板,该面板实际上就是一个容器,在其上可放置其他 UI 控件。

四、Image

ource Image(图像源):纹理格式为Sprite(2D and UI)的图片资源(导入图片后选择Texture Type为Sprite(2D and UI))。

Color(颜色):图片叠加的颜色。

Material(材质):图片叠加的材质。

Raycast Target(射线投射目标):是否作为射线投射目标,关闭之后忽略UGUI的射线检测

Image Type(图片显示类型):

Simple(基本的):图片整张全显示,不裁切,不叠加,根据边框大小会有拉伸。

Preserve Aspect(锁定比例):针对Simple模式,勾选之后,无论图片的外形放大还是缩小,都会一直保持初始的长宽比例。

Image Type(图片显示类型):

1、Sliced(切片的) Fill Center(填充中心):勾选后,显示,反之,不可见。

2、Filled(填充的):根据填充方式、填充起点、填充比例决定图片显示哪一部分。

Fill Method(填充方式):分为水平、垂直、90度圆、180度圆、360度圆。

Fill Origin(填充起点):根据填充方式不同有所变化。

Fill Amount(填充比例):0是完全不显示,1是完全显示。

3、Tiled(平铺的)Fill Center(填充中心):勾选后,显示,反之,不可见。

五、RawImage

1、Texture:指定Raw .Image(Script)组件要显示的图片

2、Color:设置图片的颜色;

3、Material:设置图片控件的材质;

4、UV.Rect:令图片中的一部分显示在Raw .Image(Script)组件里。X和Y属性指定图片左下角的位置,W和H属性指定图片右上角的位置。

六、FieldInput

T而心痛Component(文本组件):此输入域的文本文本显示组件,任何带有Texe组件的物体。

Text(文本):此输入域的初始值

七、Button

Button里一共有两个脚本

八、界面旋转

在Panel下面创建空对象left

在Panel下面创建空对象right

形成一个类似3D效果的界面旋转。

九、操作组件

1、获取组件

a、把组件声明用public修饰

b、通过名称

2、更改图片

a、Image

b、RawImage

3、界面切换

public GameObject zhuCe;

public GameObject kaiShi;

public void Get()

    {

        zhuCe.SetActive(false);//把注册页面隐藏

        kaiShi.SetActive(true);//把开始页面显示

}

4、开关界面

public class RegPanel : MonoBehaviour {

public void CloseAndOpen()

     {

         gameObject.SetActive(!gameObject.activeSelf);

     }

}

5、游戏场景跳转

using UnityEngine.SceneManagement;

 //跳转到游戏场景

SceneManager.LoadScene("game");

6、场景过渡

十、Toggle(开关/切换)

public void GetMan()

    {

        //点击多次还是选择自己

        if (man.isOn)//man是否选中

        {

            woman.isOn = false;

        }

        else if(woman.isOn==false)

        {

            man.isOn = true;

        }

        //woman.interactable = false;//组件是否可用

        //得到选中的文本内容

        Text t = man.GetComponentInChildren<Text>();//得到子组件

        string a = t.text;

        print(a);

    }

    public void GetWoman()

    {

        if (woman.isOn)

        {

             man.isOn = false;

        }

        else if (man.isOn == false)

        {

            woman.isOn = true;

        }

         

        //man.interactable = false;

        //得到选中的文本内容

        Text t = woman.GetComponentInChildren<Text>();

        string a = t.text;

        print(a);

}

开关界面:

public class ClosePanel : MonoBehaviour {

public GameObject[] panel;

public Toggle[] toggle;

void Update () {

        for (int i = 0; i < toggle.Length; i++)

        {

panel[i].SetActive(toggle[i].isOn);

        }

}

}

十一、Slider

Slider(滑动条):是一个主要用于形象的拖动以改变目标值的控件,他的最恰当应用是用来改变一个数值,最大值和最小值自定义,拖动滑块可在此之间改变,例如改变声音大小。

On Value Changed:值改变时触发消息。

十二、Scrollbar

Handle Rect(操作条矩形):当前值处于最小值与最大值之间比例的显示范围,也就是整个滑条的最大可控制范围。

Direction(方向):滚动条的方向,从左至右,从上至下还是其他的。

Value(值):当前滚动条对应的值。

Size(操作条矩形长度):操作条矩形对应的缩放长度。

Numbers Of Steps(指定可滚动的位置数量):滚动条可滚动的位置数目,为0和1时不生效(事实上只有0个可滚动位置或1个可滚动位置那还叫滚动条吗),例如设为2,则拖动滚动条时滚动条只会处在最小值的位置和最大值的位置,因为他的可滚动位置只有2个,例如设为3,则拖动滚动条时滚动条只会处在最小值的位置、最大值的位置以及中间位置,因为他的可滚动位置只有3个。

On Value Changed:值改变时触发消息。

十三、Scroll View

1、创建一个Panel,命名为ScrollRect,添加 ScrollRect组件

2、在ScrollRect下创建一个子Panel,命名为Grid,添加Grid Layout Group 组件

3、在Grid下,创建一个Image,按Ctrl+D ,Copy出多个Image

4、在Scene视图,可以看到Image的排列(注意:排列成了两行)

5、让Grid下的Image排列成一行;做法:拉伸Grid的长度,让它变长

6、在Game视图,看到Image已经超出了Scroll Rect

7、给Scroll Rect添加Mask组件

8、添加完Mask组件之后,Image就不再超出了,但此时仍然不能Drag它

9、设置参数

10、设置完参数之后,就能Drag了

十四、DropDown

1Label是用来显示当前选中项的Text

2Arrow是用来显示下拉箭头的Image

3、Template是一个ScrollView控件,作为下拉列表的选项显示区域模板,默认是未启动状态

十五、UGUI布局管理

Unity自带的布局模式分为Horizontal Layout Group、Vertical Layout Group、Grid Layout Group,分别为水平布局,垂直布局,网格布局。

1水平布局

  新建一个UIMain空对象,添加Horizontal Layout Group组件,为该对象添加一个水平布局管理器。在该组件的作用下,UIMain的子对象将按照一定的要求进行水平排列。

Padding:布局的边缘填充;

Spacing:布局内的元素间距;

ChildAlignment:对齐方式;

ChildForce Expand:自适应宽和高;

2、VerticalLayout Group

  新建一个UIMain空对象,添加Vertical Layout Group组件,为该对象添加一个垂直布局管理器。在该组件的作用下,UIMain的子对象将按照一定的要求进行垂直排列。内部参数和水平的一样,不再重复。

3Grid Layout Group

GridLayoutGroup是网格布局管理器,这个组件会自动的将其管理下的UI元素进行网格排列,实现了自动换行的功能,常见于游戏的背包。

Padding:偏移;

CellSize:内部元素的大小;

Spacing:水平间距和垂直间距;

StartCorner:第一个元素的位置;

StartAxis:元素的主轴线;

Horizontal:填满一行用一个新行;

Vertical:填满一列用一个新列;

Constraint:指定网格布局的行或者列;

十六、场景跳转

为了能够成功转换场景,需要将它们添加到Build Settings面板的Scenes in Build中(点击菜单栏的File→Build Settings打开面板)。在生成游戏时,只有添加到面板中的场景才会被编入游戏中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值