You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity UI按钮能否在按下时自行销毁、移动或缩放隐藏?

Unity UI按钮自操作问题解决方案

问题根源

你遇到的不是按钮无法操作自身,而是脚本误关联到了预制体,或者代码中错误引用了预制体对象,导致修改的是预制体而非场景中的按钮实例。

三种需求的正确实现代码

给场景中的按钮绑定以下脚本,在按钮的OnClick事件中调用对应方法即可:

1. 按下后销毁自身

using UnityEngine;

public class ButtonHandler : MonoBehaviour
{
    public void DestroyButton()
    {
        Destroy(gameObject); // 销毁当前挂载脚本的按钮实例
    }
}

2. 移至屏幕外

using UnityEngine;

public class ButtonHandler : MonoBehaviour
{
    public void MoveOffScreen()
    {
        var rectTransform = GetComponent<UnityEngine.UI.RectTransform>();
        // 移至屏幕右侧外,可根据需求调整坐标值
        rectTransform.anchoredPosition = new Vector2(Screen.width + 200, rectTransform.anchoredPosition.y);
    }
}

3. 缩放至不可见

using UnityEngine;

public class ButtonHandler : MonoBehaviour
{
    public void ScaleToHide()
    {
        transform.localScale = Vector3.zero; // 将缩放设为0实现隐藏
    }
}

关键绑定步骤

  1. 确保脚本挂载到场景中已存在的按钮对象上,而非预制体
  2. 在按钮的OnClick事件面板里,拖拽场景中的按钮到引用框
  3. 选择脚本中对应的方法(比如DestroyButton)

这样操作后,按下按钮时就会修改场景中的按钮实例,不会影响预制体。

内容的提问来源于stack exchange,提问作者Ryan sharp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 22:10:34