【发布时间】:2022-01-16 14:59:09
【问题描述】:
当我按下 E 键时,我无法按下弹出的 UI 中的按钮。我想我已经清除了所有典型错误。
- GraphicRaycaster" 已附加到 Canvas。
- 检查 CanvasGroup 中的“Interactable”和“BlocksRaycasts”。
- 检查“RaycastTarget”。
- 确保目标 UI 前面没有其他 UI 重叠。
- 目标 UI 前面没有重叠的“不可见 UI”
然后我意识到层次结构上的“Starter Assets - Third Person Character Controller - PlayerArmature”可能是问题所在。 我能够通过尝试删除 UI 来操纵它。 当我查看它时,我发现正在使用一个新的输入系统。 我通过查看官方文档和其他文章将其解释为需要将其更改为操作图以操作 UI。 所以我添加了一个脚本来在 UI 显示时将动作映射更改为 UI 的动作映射。
private void Update()
{
if (Keyboard.current.eKey.wasPressedThisFrame)
{
if (optionView.gameObject.activeSelf == false)
{
_playerInput.SwitchCurrentActionMap("UI");
}else if (optionView.gameObject.activeSelf == true)
{
_playerInput.SwitchCurrentActionMap("Player");
}
}
我也做不到。
我将动作映射从默认映射更改为 UI 映射,但它不起作用。 存储库在这里。 https://github.com/eiei114/WwiseTestProject
【问题讨论】:
-
根据网站的标签指南,请不要在您的问题标题中添加标签。
标签: c# unity3d user-interface