开关控件

  • 类型:UiToggle

简介

开关控件是显示在玩家屏幕上的用于选择或取消选中某个选项的复选框UI控件。是2D容器界面3D表面容器3D广告牌容器的子级。

游戏运行后,存放在界面初始化下的界面会复制到玩家界面下,只有在玩家界面下的界面才能在游戏中显示。

开关控件是一个用来打开后者关闭某种事件的控件。可以通过Interactable属性设置开关是否生效,当设置无效时,开关控件就不会产生任何互动。

开关空间的用法有很多,例如设置一个电灯,当你点击开关时,灯就打开,再次点击开关时,灯就关闭。

开关空间的IsOn属性可以判断开关是否处于被选中的状态。

特点和注意事项

开关控件是使用一个开关标记属性的透明度来实现的,当点击开关控件时,将开关标记的透明度设置为0,来达到开关的状态。但是这个值无法在脚本或编辑器中查看。

属性

    Interactable     是否生效   bool   
    表示是否可用,参数为false时控件进入禁用状态,不响应事件。

    Transition     转变   Enum.Transition   
    用来显示按钮在不同状态下的变换(可以选颜色,图片,动画三种)。

    TargetGraphic     作用对象   UISubjectProperty;  
    转变效果作用的对象。

    NormalColor     普通颜色   Vector3   
    控件普通状态下的颜色(转变选择颜色模式时显示)。

    NormalColorA     普通颜色透明度   bool   
    控件普通状态下的颜色透明度(转变选择颜色模式时显示)。

    HighlightedColor     高亮颜色   Vector3   
    控件高亮状态下的颜色(转变选择颜色模式时显示)。

    HighlightedColorA     高亮颜色透明度   float   
    控件高亮状态下的颜色透明度(转变选择颜色模式时显示)。

    Graphic     开关标记   UISubjectProperty   
    用于开关标记的图片控件。

    PressedColor     按下颜色   Vector3   
    控件按下状态的颜色(转变选择颜色模式时显示)。

    PressedColorA     按下颜色透明度   float   
    控件按下状态下的颜色透明度(转变选择颜色模式时显示)。

    DisabledColor     禁用颜色   Vector3   
    控件禁用状态的颜色(转变选择颜色模式时显示)。

    DisabledColorA     禁用颜色透明度   float   
    控件禁用状态的颜色透明度(转变选择颜色模式时显示)。

    ToggleTransition     切换过渡   Enum.ToggleTransition   
    开关控件开关状态改变时的效果,渐变或直接显示。

    FadeDuration     褪色持续时间   float   
    控件切换颜色所需渐变的时间(转变选择颜色模式时显示)。

    HighlightedSprite     高亮图   string   
    控件高亮状态的图片(转变选择图片模式时显示)。

    PressedSprite     按下图   string   
    控件按下状态的图片(转变选择图片模式时显示)。

    DisabledSprite     禁用图   string   
    控件禁用状态的图片(转变选择图片模式时显示)。

    IsOn     开关状态   bool   
    开关控件的状态,选中或非选中。

继承自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)
    当用户在触摸设备上轻轻点击时,触发此事件

    OnValueChangedEvent(value)
    value属性发生改变时触发

继承自RWObject

    Destroyed()
    删除自身时触发

    ChildAdded(childobject)
    添加子对象时触发

    ChildRemoved(childobject)
    移除子对象时触发

    DescendantAdded(descendantobject)
    添加后代时触发

    DescendantRemoved(descendantobject)
    移除后代时触发

    AncestryChanged(AncestryChanged)
    祖先变更时触发

文档更新时间: 2020-09-02 19:55   作者:刘征