10438人加入学习
(112人评价)
UGUI整体解决方案-基础篇(Unity 2019.1.0f2)

2019-06-01

价格 免费

根据宽高自适应模式,基础分辨率根据某一规则使自身宽高比与实际分辨率相同,得到Canvas大小,下面UI元素大小不变。实际分辨率与Canvas得到UI缩放比例,Canvas通过UI缩放比例带着UI元素投到实际分辨率。

某一规则:

1.宽高自定义

2.Canvas向外扩展

3.Canvas向内缩小

[展开全文]

安全的ui宽高获取方式:

REctTransform ract = transform.GetComponent<RectTransform>();

ract.ract.width/height ect

[展开全文]

RectTransform rect = transfoem.GetComponent<RcetTransform>();

rect.rect.width

获取图形宽高

[展开全文]

local position物体的几何中心点位置

anchored position 物体锚点位置

[展开全文]

Text的富文本:可以将Text中一大段的字段设置不同的格式;可加粗,斜体,变色等。

[展开全文]

Ondrag + eventData.delta实现拖拽

 

 

[展开全文]

系统按键接口 也需要selectable组件

 

[展开全文]

选择接口需要加selectable组件

[展开全文]

IPointerUpHandler与IPointerClickHandler的区别?

 IPointerUpHandler是你在这个物体上按下,无论在哪里抬起都会触发

IPointerClickHandler是你在这个物体上按下,必须在这个物体上抬起,才会触发

陈年bug 虽然道理不是很懂,但解决办法就是在子物体上实现down的接口

 

[展开全文]

drop在谁身上 就执行谁的脚本

[展开全文]

拖动功能接口 必须要有OnDarg 否则其他3个不执行

图形拖动实现

使用RectTransformUtility.ScreenPointToWorldPointInRectangle获取世界坐标,赋值给图形

    void IDragHandler.OnDrag(PointerEventData eventData)
    {
        RectTransform rect = GetComponent<RectTransform>();
        Vector3 pos = Vector3.zero;

        RectTransformUtility.ScreenPointToWorldPointInRectangle(rect, eventData.position, eventData.enterEventCamera,
            out pos);
        rect.position = pos;
    }

 

[展开全文]

Anchored Position: 组件中心点相对于锚点的坐标。锚点为(0,0)点,X Y轴正常。若锚点分开,则00点就是锚点的中心。

Local Position: 组件中心点相对于父组件左下角的坐标。

Pivot: 组件中心点,本组件的左下角点为(0,0),右上角为(1,1)

[展开全文]

获取组件宽高:

RectTransform rect = rect = transform.GetComponent<RectTransform>();

rect.rect.width;

rect.rect.height;

[展开全文]

onValueChanged的代码添加和手动添加结果不一致,不知道是什么原因

 

public class TEST : MonoBehaviour {

    void Start()
    {
        GetComponent<Toggle>().onValueChanged.AddListener(isOn => Debug.Log(isOn ? "开" : "关"));
    }

    public void OnToggleClick(bool isOn)
    {
        Debug.Log(isOn ? "开" : "关");
    }
}

 

 

[展开全文]

1.避免使用mask,性能

2.使用rect mask 2D替代 ,但是可能出现bug(什么bug?)

[展开全文]

授课教师

课程特色

视频(61)
下载资料(1)