【发布时间】:2020-03-11 18:33:43
【问题描述】:
在 Unity 3D 中,当您选择一个按钮时,它将保持按下状态,直到您在按钮外部单击并基本上恢复其正常颜色。问题是,当我在按钮或场景之外单击时,我希望按钮保持按下状态(颜色方面)。有谁知道点击按钮后如何保持按下或“选中”状态?
【问题讨论】:
-
使用统一用户界面切换
在 Unity 3D 中,当您选择一个按钮时,它将保持按下状态,直到您在按钮外部单击并基本上恢复其正常颜色。问题是,当我在按钮或场景之外单击时,我希望按钮保持按下状态(颜色方面)。有谁知道点击按钮后如何保持按下或“选中”状态?
【问题讨论】:
您可以使用 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;
}
}
【讨论】: