Unity 左右折叠显示与隐藏UI的简单实现

要实现一个简单的UI左右折叠显示与隐藏,可以结合遮罩,通过代码控制UI区块的宽度和位移来实现。

具体可以按以下步骤实现:

1、新建一个Image组件,并添加精灵,调整大小后,复制一份作为该UI的父物体,然后在该父物体上添加Mask组件,并勾掉Show Mask Graphic选项,如图:

2、新建两个控制按钮,如下图:

3、编写控制脚本:

复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class SlideInOutUI : MonoBehaviour
{
    public RectTransform uiPanel;
    public Button showButton;
    public Button hideButton;
    public float slideSpeed = 5f;
    private bool isPanelShown = true;

    // Start is called before the first frame update
    void Start()
    {
        showButton.onClick.AddListener(ShowPanel);
        hideButton.onClick.AddListener(HidePanel);
    }

    // Update is called once per frame
    void Update()
    {
        Vector2 targetPosition = isPanelShown ? Vector2.zero : new Vector2(-uiPanel.rect.width, 0);
        uiPanel.anchoredPosition = Vector2.Lerp(uiPanel.anchoredPosition, targetPosition, Time.deltaTime * slideSpeed);
    }

    private void ShowPanel()
    {
        isPanelShown = true;
    }

    private void HidePanel()
    {
        isPanelShown = false;
    }
}

4、运行效果:

Unity 左右折叠显示与隐藏UI的简单实现

相关推荐
工控小龙人6 小时前
医疗器械HMI:输液泵的精准控制界面
ui·人机交互·用户界面
Real-Staok7 小时前
GUI 框架基础需求、设计和实现 - 2 UI / UX 设计
ui·ux
鹓于9 小时前
电脑软件迁移
ui
淡海水14 小时前
【节点】[IrisOutOfBoundColorClamp节点]原理解析与实际应用
unity·游戏引擎·iris·shadergraph·图形·clamp·bound
我命由我1234516 小时前
Photoshop - Photoshop 工具栏(61)切片工具
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
我命由我1234516 小时前
Photoshop - Photoshop 工具栏(62)切片选择工具
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
工业HMI实战笔记18 小时前
图标标准化:一套可复用的工业图标库设计指南
前端·ui·性能优化·自动化·汽车·交互
Real-Staok19 小时前
LVGL 总结备查
c++·ui·ux
Real-Staok19 小时前
GUI 框架基础需求、设计和实现 - 3 工程框架设计 / 基础思想
ui·ux
风痕天际19 小时前
Godot扫雷游戏制作记录1——基础场景搭建
游戏·游戏引擎·godot·gdscript·教程