Unity 控制组件显示在同级最前端或者最后端

有时候我们在做一些类似轮播的效果时,就通常会用到切换某张图片显示在最后端或者最前端。

如我写一个这样的脚本:

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

public class ChangePic : MonoBehaviour
{
    public Transform tran;   
    // Start is called before the first frame update
    void Start()
    {
        StartCoroutine(ChangeNextImage());
    }

    // Update is called once per frame
    void Update()
    {
        
    }

    IEnumerator ChangeNextImage()
    {        
        while (true)
        {
            yield return new WaitForSeconds(1f);
            tran.GetChild(0).SetAsLastSibling();
        }
    }
}

把它放到需要切换的组件里,可实现如下简单切换效果:
UI简单轮播切换_哔哩哔哩_bilibili

从上面案例看,方法是简单的:

首先获取组件的RectTransform组件,然后就可以调用SetAsLastSibling()和SetAsFirstSibling()方法。就可以把组件移动到最后面和最前面。

复制代码
using UnityEngine;
using UnityEngine.UI;

public class MoveToLastSibling : MonoBehaviour
{
    void Start()
    {
        // 获取组件的RectTransform
        RectTransform rectTransform = GetComponent<RectTransform>();

        // 将组件移动到最前面
        rectTransform.SetAsFirstSibling();

        // 将组件移动到最后面
        rectTransform.SetAsLastSibling();
    }
}

需要注意的是以上两个方法都是在当前父物体的同级组件之间进行移动。

相关推荐
qq_399407181 小时前
2025年Unity国际版下载及安装
unity·游戏引擎
CodeCraft Studio1 小时前
Excel处理控件Aspose.Cells教程:使用C#在Excel中创建折线图
java·c#·excel·aspose.cells·excel图表·excel api库·excel折线图
m5655bj2 小时前
C# 在 PDF 文档中添加电子签名
开发语言·pdf·c#
superman超哥2 小时前
仓颉Actor模型的实现机制深度解析
开发语言·后端·python·c#·仓颉
鹿野素材屋3 小时前
Unity做出果冻胸部的效果
unity·游戏引擎
两水先木示3 小时前
【Unity】坐标转换(屏幕坐标、世界坐标、UI坐标)
unity·游戏引擎·空间转换
一只蚊子03 小时前
C# WinForms配置Halcon
windows·c#·halcon
阿蒙Amon3 小时前
C#每日面试题-进程和线程的区别
java·面试·c#
HUST4 小时前
C 语言 第九讲:函数递归
c语言·开发语言·数据结构·算法·c#
CodeCraft Studio4 小时前
国产化Word处理控件Spire.Doc教程:使用C# 编程方式批量转换Word为RTF
开发语言·c#·word·spire.doc·word文档转换·word开发组件·word api库