如何让 UI 按钮在 Unity 3D 中保持按下状态

How to Get UI button to Stay in a Pressed State in Unity 3D

在 Unity 3D 中,当您 select 一个按钮时,它会保持按下状态,直到您在按钮外部单击并基本上恢复到其正常颜色。问题是,当我在按钮或场景外单击时,我希望按钮保持按下状态(颜色方面)。有谁知道如何按住按钮或单击按钮后 "selected"?

您可以使用 Unity UI Toggle(正如 Muhammad 所说)。更改设计以删除复选标记并使其看起来像一个按钮。 使用此组件,您可以使用状态 'isOn' 并在选择时更改颜色。

public class Button_Stay_Pressed : MonoBehaviour
{
    private Button btn;

    [SerializeField]
    private Sprite normal_sprite;
    [SerializeField]
    private Sprite pressed_sprite;

    void Awake()
    {
        btn = gameObject.GetComponent<Button>();
        btn.image.sprite = normal_sprite;
        btn.onClick.AddListener(TaskOnClick);
    }

    void TaskOnClick()
    {
        btn.image.sprite = pressed_sprite;
    }
}