UGUI的可伸缩折叠菜单的制作和代码
时间: 2024-01-21 19:18:34 浏览: 72
UGUI 的可伸缩折叠菜单可以通过使用 RectTransform 来实现。下面是一个简单的示例代码:
```csharp
using UnityEngine;
using UnityEngine.UI;
public class ExpandableMenu : MonoBehaviour
{
public RectTransform content;
public Button expandButton;
private bool isExpanded = false;
private float height = 0f;
void Start()
{
// 记录初始高度
height = content.sizeDelta.y;
// 设置折叠状态
SetExpanded(isExpanded);
// 添加按钮点击事件
expandButton.onClick.AddListener(OnButtonClicked);
}
void OnButtonClicked()
{
// 切换折叠状态
isExpanded = !isExpanded;
SetExpanded(isExpanded);
}
void SetExpanded(bool expanded)
{
if (expanded)
{
// 展开菜单
content.sizeDelta = new Vector2(content.sizeDelta.x, height);
}
else
{
// 折叠菜单
content.sizeDelta = new Vector2(content.sizeDelta.x, 0f);
}
}
}
```
在这个示例中,我们使用了一个 RectTransform 作为菜单的容器,并将其高度作为菜单的高度。然后,我们使用一个按钮来切换菜单的折叠状态。当按钮被点击时,我们调用 `SetExpanded` 方法来切换菜单的高度。如果菜单被展开,我们将其高度设置为初始高度,否则将其高度设置为 0。
注意,在实际使用中,你可能需要对菜单进行一些布局调整,以便更好地适应你的需求。
阅读全文