Anchored Position: 组件中心点相对于锚点的坐标。锚点为(0,0)点,X Y轴正常。若锚点分开,则00点就是锚点的中心。
Local Position: 组件中心点相对于父组件左下角的坐标。
Pivot: 组件中心点,本组件的左下角点为(0,0),右上角为(1,1)
Anchored Position: 组件中心点相对于锚点的坐标。锚点为(0,0)点,X Y轴正常。若锚点分开,则00点就是锚点的中心。
Local Position: 组件中心点相对于父组件左下角的坐标。
Pivot: 组件中心点,本组件的左下角点为(0,0),右上角为(1,1)
selectable 交互组件的基类。
EventSystem 管理ugui事件
ugui射线响应非为,Graphic,2D,3D分为三种,
代码的方式进行点击方法
getComponment<Button>().onClick.Addlistener(()=>buttonf());
publi void buttonf(){
}
任务6 17.4.21版本Local position无法调整,记录一下日后理解
float int wScale = Screen.width/1920.0f;//获取到宽度放大的比例(1920是假设的实际当中的配置,不能随便写),0f是为了得到float类型的数据要把数据改成小数的形式,否则数据会出现问题
float hScale = Screen.height/1080;高度
//比较两者的大小,需要知道缩放比例变化更大的那一条边,针对变化大或变化小的边缩放,会根据具体的UI显示策略有所不同(这里简单举例,以宽的缩放比例为准)
GetComponent<CanvasScaler>().scaleFactor = wScale;//获取当前的组件(CanvasScaler),以及它的缩放参数scaleFactor等于当前的宽比例wScale(以高缩放比例为准时,用当前高的比例)
这样就能根据它的实际尺寸,来对它所有的元素进行缩放,这样可以最大程度保证它显示你修改的尺后也可以按照正常的比例进行显示。(运行需要过程,不要慌)
所以Scale Factor这个参数可以用于对于整体UI元素按同等比例放大缩小,尽量保证原本元素的显示位置。
缺点:整体UI在不同分辨率的机型上会有一些差别。但影响不大。
Toggle:
是一个交互组件,类似于复选框。
is on:代表当前是否选中。
Local
toggle group:
slider组件
准确获取图片大小
加载进度条的实时
Slider slider = GetComponment<Slideer>();
fload process = 0 ;
while(process < 1){
}
拖动功能接口 必须要有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;
}
接口IPointerEnterHandler,IPointerExitHandler是一组
drop在谁身上 就执行谁的脚本
任务53:203-EventTrigger实现事件调用的两种方式演示
通过脚本添加EventTrigger方法的,要添加一行trigger.triggers.add(entry) 把新增的事件添加到事件集合中,否则点击之后不会响应。因为没有添加到事件集合。各位同学在这个地方要注意,自行添加一下。
IPointerUpHandler与IPointerClickHandler的区别?
IPointerUpHandler是你在这个物体上按下,无论在哪里抬起都会触发
IPointerClickHandler是你在这个物体上按下,必须在这个物体上抬起,才会触发
陈年bug 虽然道理不是很懂,但解决办法就是在子物体上实现down的接口
layout Group:水平布局组件讲解
padding:内边距
Spacing:所有的内边
Use Child Scale :是否考虑缩放时的间距
选择接口需要加selectable组件
layoutElement:只作用在Layout组件物体的子组件上。
单独的控制一个子物体的layout