跳转至

9. 用户界面

用户交互

VRP 3D引擎的交互界面是VRP作品中非常重要的一个元素,一个漂亮且功能多样的界面往往能带给用户非常舒服的视觉享受和很人性化的功能操作。

属性列表

属性 属性名 类型 默认值/可选值 说明
类型 UIType string 展示当前UI类型,不支持修改。
尺寸 Size Vector2 Vector2(200, 150) 支持修改UI尺寸。
位置 PosScale Vector2 Vector2(0.03769f, 0.04135f) 支持修改UI位置。
字体 Font string 支持修改UI字体。
字体大小 FontSize string 支持修改UI字体大小。
字体颜色 FontColor string Color(255, 0, 255, 1).ToString() 支持修改UI字体颜色。
标注物体 TagObject string 根据需要选择标注物体。
VR VREnabled boolean true、false 根据需要选择是否开启VR。
内容 Data string 根据需要输入要展示的UI内容。当UI类型为层级时没有该属性。
变换类型 backgroundType int 0、1 支持颜色和图片两种类型,用于控制按钮在原始状态、选中状态以及按下按钮时的变换类型。当UI类型为按钮时有该属性。0=颜色,1=图片。
标准/移入/按下的背景色 background string 支持修改UI图标的颜色。当UI类型为标签、文本、图片时有该属性。标准:可修改按钮在原始状态时展示的形式。当UI类型为按钮时有该属性;移入:可修改按钮在被选中时展示的形式。当UI类型为按钮时有该属性;按下:可修改按钮在被按下时展示的形式。当UI类型为按钮时有该属性。

示例代码

    // 修改尺寸|size
    ui.Size = new Vector2(200, 150);
    // 修改位置|PosScale
    ui.PosScale = new Vector2(0.03769f, 0.04135f);
    // 修改字体|font
    ui.UIFont = "黑体";
    // 修改字体大小|fontSize
    ui.FontSize = "15";
    // 修改字体颜色|fontColor
    ui.FontColor = new Color(255, 0, 255, 1).ToString();

示例案例

    UI_Demo() {
        // 获取按钮
        UITransform ui_actor = SceneManager.singleton.FindUI("Button");
        // 修改界面属性
        // 类型|UIType
        ui_actor.UIType = "Button";
        // 修改层级|layer
        // 必须有两个二维物体才可以实现层级功能   层级高在上,层级低在下
        ui_actor.layer = 66;
        // 修改尺寸|size
        ui_actor.Size = new Vector2(200, 150);
        // 修改位置|PosScale
        ui_actor.PosScale = new Vector2(0.03769f, 0.04135f);
        // 修改字体|UIFont
        ui_actor.UIFont = "宋体";
        // 修改字体大小|fontSize
        ui_actor.FontSize = "20";
        // 修改字体颜色|fontColor
        ui_actor.FontColor = new Color(255, 0, 255, 1).ToString();
        // 修改标注物体|tagObject
        ui_actor.tagObject = "Box";
        // 是否打开VR|VREnabled
        ui_actor.VREnabled = "true";
        // 修改内容|Data
        ui_actor.Data = "这是一个按钮!";
        // 变换类型|backgroundType  颜色=0,图片=1
        ui_actor.backgroundType = 1;
        // 变换类型为颜色的标准/移入/按下的颜色|background
        ui_actor.background = new Color(159, 43, 43, 1).ToString() + "|" + new Color(68, 99, 181, 1).ToString() + "|" + new Color(26, 115, 235, 1).ToString();
        // 变换类型为图片的标准/移入/按下的图片|backgroundImage
        ui_actor.backgroundImage = "";
    }