MBS*_*MBS 4 navigation unity-game-engine
我想对应用程序中的所有按钮使用显式导航。但对于某些按钮,我想保留“在右侧选择”以使用自动导航(例如:我知道下一个向左、向上和向下的按钮,但我不知道下一个向右的按钮)。
小智 5
您需要创建一个自定义Selectable,如果设置了值,则可以使用显式导航。您可以在您的案例中使用此代码,只需在检查器中保留需要使用自动导航的空白字段即可。
using UnityEngine;
using UnityEngine.UI;
namespace UI.CustomSelectable
{
public class CustomSelectable : Selectable
{
[SerializeField]
private Selectable upSelectable;
[SerializeField]
private Selectable downSelectable;
[SerializeField]
private Selectable leftSelectable;
[SerializeField]
private Selectable rightSelectable;
public override Selectable FindSelectableOnUp()
{
return upSelectable != null ? upSelectable : base.FindSelectableOnUp();
}
public override Selectable FindSelectableOnDown()
{
return downSelectable != null ? downSelectable : base.FindSelectableOnDown();
}
public override Selectable FindSelectableOnLeft()
{
return leftSelectable != null ? leftSelectable : base.FindSelectableOnLeft();
}
public override Selectable FindSelectableOnRight()
{
return rightSelectable != null ? rightSelectable : base.FindSelectableOnRight();
}
}
}
Run Code Online (Sandbox Code Playgroud)