3D表面容器

  • 类型:SurfaceGui

简介

3D表面容器可将存储的UI对象显示在零件包围盒的表面。为了确保向玩家显示容器控件下的UI对象,3D表面容器必须作为实体对象的子级,如零件。

是一个容器,用来加载UI控件。需要在一个物体,如零件的表面加载UI控件时可以使用3D表面容器

3D表面容器3D广告牌容器2D容器界面的区别是3D表面容器是加载于零件或者其他实体对象的表面,而3D广告牌容器存储的UI界面呈3D的样子展示,而且始终面向摄像机。2D容器界面玩家界面.

玩家的摄像机正对3D表面容器才会显示,背对3D表面容器时,其子集各界面不显示。

特点和注意事项

3D表面容器与贴花的区别是,3D表面容器是生成于实体对象的某一个面上的UI对象,不只可以用来添加图片,还可以用来加载UI控件,而贴花是零件表面的其中一个面添加自定义贴图的对象。(物品中间镂空的话,会造成单面正反面都加载图像。)

当作为下拉框控件的父级,下拉框控件不起作用。

属性

    Active     是否显示   bool   
    是否显示表面容器以及其子UI。

    SurfaceGuiType     UI表面   Enum.SurfaceType   
    表面UI生成在物体包围盒的哪一面。

    ClipChild     被父控件裁切   bool   
    超出表面容器边界的子控件是否还会显示。

    PunchDistance     触发距离   int   
    玩家可以与3D表面容器下界面交互的最大距离。

继承自RWObject

    Name     名称   string   
    该对象的自定义名称。

    ClassName     类型   string   
    该对象对应的对象类型名称。

    Parent     父级   RWObject   
    该对象的父级对象。

函数

继承自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)
    判断自身是否为给定的对象类型

事件

继承自RWObject

    Destroyed()
    删除自身时触发

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

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

    DescendantAdded(descendantobject)
    添加后代时触发

    DescendantRemoved(descendantobject)
    移除后代时触发

    AncestryChanged(AncestryChanged)
    祖先变更时触发

文档更新时间: 2020-09-16 21:21   作者:刘征