我正在构建一个物品清单系统,如果您点击一个物品清单格子(红色方块),将会打开一个上下文菜单(白色矩形)并根据所在元素的类型(空位、齿轮、材料)渲染按钮(绿色球体)。

这个功能正常工作,如果我从物品清单格子导航到第一个按钮,它全部正常工作没有问题。

但是,如果我导航到第二个按钮(与其他物品清单格子在Y轴上排列在下面),则会将焦点置于该方块上。

我知道,如果我在背後實現一个手动解决方案可能可以解决这个问题,但是在这种情况下似乎根本没有办法做到这种效果或者我是在哪里出问题。

请注意,我是在创建并渲染后才将焦点置于上下文菜单上。

在Unity 中,你可以通过设置SelectOnMove(拖动时选择)为 false 或使用PointerEnter事件来解决这个问题。

如果你只想让第一个按钮能够获得焦点,那么你可以在创建按钮时设置SelectOnMovefalse,这样就会只让第一个按钮在导航时获得焦点。