2D容器界面
- 类型:UiPanel
简介
2D容器界面是显示在玩家屏幕上的2DUI对象的主要存储对象。
是一个容器。2D容器界面
和3D表面容器
还有3D广告牌容器
的区别是他的父级是玩家界面
,直接加载于玩家的屏幕上,而3D表面容器
的父级是零件
或者实体对象。3D广告牌容器
的父级也是零件
或者实体对象。所以一般使用2D容器界面
作为玩家UI界面的设计。
可以改变在玩家屏幕上的大小以及相对位置。
当需要用UIpanel来加载其他控件而不显示UiPanel控件时,可以将UIPanel的透明度设置为0。
UI对象若要显示在编辑器中,必须作为2D容器界面
、3D表面容器
或3D广告牌容器
的子级。
特点和注意事项
游戏运行后,存放在界面初始化
下的界面会复制到玩家界面下,只有在玩家界面
下的界面才能在游戏中显示。在服务器脚本创建则不会显示。
其他相关
属性
SourceImage 图像 string
选择图像控件图片资源
ImageColor 颜色 Vector3
对图像改变图片颜色
ImageColorA 颜色透明度 float
对图像改变图片颜色透明度
ImageCurType 图像类型 Enum.UIImageType
图像展示格式,分为普通、切图、平铺、填充四种。
IgnoreRayCast 穿透 bool
决定是否忽视射线检测。
PreserveAspect 保持宽高比 bool
是否保持宽高比例
FillCenter 填充中心 bool
在平铺模式和切图模式中,按边界区分的九个区域中,中间区域是否显示。
FillMethod 填充方式 Enum.ImageFillMethod
图片选择填充模式时切割分配图片的方式,分为水平、垂直、90度圆、180度圆和360度圆。
FillOrigin 填充起点 int
图片填充的起点,根据填充方式的不同会有所不同。
FillAmount 填充比例 float
图片填充的比例。0是完全不显示,1是完全显示。
FillClockwise 顺时针充满 bool
图片填充的方向。参数为True表示顺时针,参数为False表示逆时针。
Border 切图边界 Vector4
切图四条边界的位置。
继承自RWObject:
Name 名称 string
该对象的自定义名称
ClassName 类型 string
该对象对应的对象类型名称
Parent 父级 RWObject
该对象的父级对象
继承自BaseUI:
AnchorMin 锚点区域起点 Vector2
锚点区域是从父控件上由锚点区域起点和终点画出的一片区域(如果锚点区域起点和终点为同一点,则锚点区域为一个点),控件相对于锚点区域的相对位置不变。
AnchorMax 锚点区域终点 Vector2
锚点区域是从父控件上由锚点区域起点和终点画出的一片区域(如果锚点区域起点和终点为同一 点,则锚点区域为一个点),控件相对于锚点区域的相对位置不变。
RelativeSize 相对大小比例 Vector2 【只读】
相对大小比例影响控件的最终宽高(控件的最终宽高还受宽高属性影响,由相对大小比例和宽高共同决定),表示控件大小相对于父控件的比例,X为子控件宽相对于父控件宽的比例,Y为子控件高相对于父控件高的比例,参数为0代表控件宽高与父控件无关系,参数为1代表控件宽高父控件相同。
AnchoredPosition 相对坐标 Vector2
控件中心点到锚点区域的距离。若锚点区域为一点,则直接表示两点间距离,如果锚点区域不为一点,则表示控件中心点到锚点区域中心点(这个中心点取和控件中心点一样的值)的距离。
SizeDelta 宽高 Vector2
控件的宽高,X表示控件宽,Y表示控件高。控件的最终宽高为相对大小比例换算的宽高值加宽高。当相对大小比例为0时,控件的宽高就是其实际宽高。
Pivot 中心点 Vector2
控件的中心点,控件宽高变化和旋转都围绕中心点来进行。
LocalScale 缩放比例 Vector3
控件相对于自己实际宽高的缩放系数,参数为1时,表示控件宽高与控件的本身宽高相同,不缩放。缩放系数具有传递性,其下所有的子集也会受父集的缩放系数影响。
IsVisible 是否显示 bool
勾选为显示,不勾选为不显示。
LocalEulerAngles 旋转 Vector3
控件围绕中心点的旋转角度。
ZIndex 层级 int
对于相同父集的不同子集,不同控件显示的先后顺序,层级越高显示越靠前。竖直布局控件、水平布局控件和网格布局控件也依靠层级来规定排列的先后顺序。
函数
继承自RWObject:
DelAllChild()
删除所有子对象
Available()
检查对象是否可用
Clone(parent)
复制自身,若有参数则以参数为父级
Destroy()
删除自身
GetAncestorByName(Name)
通过对象名字寻找父级对象
GetAncestorByClassName(className)
通过对象类型寻找父级对象
GetChildByName(Name,recursive)
通过对象名字寻找子级对象
GetChildByClassName(className,recursive)
通过对象类型寻找子级对象
GetAllChild()
寻找自身所有子级对象,并作为一个列表返回
GetAllDescendant()
递归寻找自身所有后代,并作为一个列表返回
IsAncestor(TarObj)
判断自身是否为目标对象的祖先
IsDescendant(TarObj)
判断自身是否为目标对象的后代
WaitForChild(childName,timeout)
寻找自身的子对象。如果没有子对象,在没有填写timeout参数时,会暂停进程直到找到子对象;如果填写了timeout参数,会根据参数时间暂停进程,超出参数时间后,进程照常进行
Child(childName)
根据给定的名字寻找自身的子对象
Equals(TarObj)
判断自身是否为目标对象,结果为真返回True,结果为假返回False;注意克隆、新建同类型、同名对象,equal结果均为假
IsClass(className)
判断自身是否为给定的对象类型
事件
GuiMouseLeftPress()
鼠标左键点击GUI对象时,触发此事件
GuiMouseLeftDown(mousePosition.x, mousePosition.y)
鼠标左键在GUI对象上按下时,触发此事件
GuiMouseLeftUp(mousePosition.x, mousePosition.y)
鼠标左键在GUI对象上抬起时,触发此事件
GuiMouseRightPress()
鼠标右键点击GUI对象时,触发此事件
GuiMouseRightDown(mousePosition.x, mousePosition.y)
鼠标右键在GUI对象上按下时,触发此事件
GuiMouseRightUp(mousePosition.x, mousePosition.y)
鼠标右键在GUI对象上抬起时,触发此事件
GuiMouseScrollDown(mousePosition.x, mousePosition.y)
鼠标中键在GUI对象上按下时,触发此事件
GuiMouseScrollUp(mousePosition.x, mousePosition.y)
鼠标中键在GUI对象上抬起时,触发此事件
GuiMouseScrollPress()
鼠标中键点击GUI对象时,触发此事件
GuiInputBegan(inputobject,gameevent)
用户输入(指鼠标、触摸、键盘等)开始后,触发此事件
GuiInputChanged(inputobject,gameevent)
用户输入改变时,触发此事件
GuiInputEnded(inputobject,gameevent)
用户输入结束时,触发此事件
GuiMouseWheelBackward(mousePosition.x, mousePosition.y)
鼠标滚轮向后滚动时,触发此事件
GuiMouseWheelForward(mousePosition.x, mousePosition.y)
鼠标滚轮向前滚动时,触发此事件
GuiMouseEnter(mousePosition.x, mousePosition.y)
鼠标进入时,触发此事件
GuiMouseLeave(mousePosition.x, mousePosition.y)
鼠标离开时,触发此事件
TouchLongPress(Touch.position, touchState)
在GUI对象上保持同一位置长按时,触发此事件
TouchPan(Touch.position, pandistance, panspeed, touchState)
在GUI对象上移动手指时,触发此事件
TouchPinch(positionTable, scale , pinchspeed, touchState)
在GUI对象上使用两个手指执行捏或拉手势时,触发此事件
TouchRotate(positionTable, signedAngle, signedAnglespeed , touchState)
在GUI对象上使用两个手指执行旋转手势时,触发此事件
TouchSwipe(touchMoveDir, touchCount)
在GUI对象上,使用手指滑动时,触发此事件。
TouchTap(Touch.position)
当用户在触摸设备上轻轻点击时,触发此事件
继承自RWObject:
Destroyed()
删除自身时触发
ChildAdded(childobject)
添加子对象时触发
ChildRemoved(childobject)
移除子对象时触发
DescendantAdded(descendantobject)
添加后代时触发
DescendantRemoved(descendantobject)
移除后代时触发
AncestryChanged(AncestryChanged)
祖先变更时触发