首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
Unity InputSystem按一次按键触发2次的问题(判断了InputActionPhase.Performed,NotifyUpdate和NotifyBeforeUpdate)
📅 2026/9/6 4:16:48
✍️ 爱科研究院
👁 阅读 3,247
使用Performed判断了输入阶段。public void OpenKeyMap(InputAction.CallbackContext input){ if(input.phaseInputActionPhase.Performed){ onPressMap?.Invoke(); } }两次触发打印的调用链不太一样还有一个报错Assertion failedUnityEngine.InputSystem.LowLevel.NativeInputRuntime/c__DisplayClass10_0:set_onBeforeUpdateb__0 (UnityEngineInternal.Input.NativeInputUpdateType)UnityEngineInternal.Input.NativeInputSystem:NotifyBeforeUpdate (UnityEngineInternal.Input.NativeInputUpdateType)问题发生在我们按M打开地图输入系统切换到地图模式的映射此时按M关闭地图触发了2次又直接打开了地图。我推测是触发的回调里切换了actionMap切换新的Map后还是按着的又直接判断按下了。但是打开地图时没有触发两次。看了一下是第二次被判断拦下来了试了一下打开地图也加判断还是触发2次。我们可以得出一个结论就是Performed阶段触发的操作如果里面切换ActionMap新的ActionMap还用这个函数此时还按着按键就会直接触发。但是我们这里是从Play切换到Map没问题Map到Play触发2次。然后看输入配置文件打开地图的动作看到了这个设置关闭地图的动作没有选把这个关掉问题解决了。所以Initial State Check就是刚切到这个ActionMp有按钮已经按下就触发。
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/6 4:16:48
TSB移动端技能特效开发:空间斩与连续斩击实战指南
2026/9/6 4:16:48
CBCT 牙颌拍片,医院如何索取?宝鸡口腔医院经历!165元一次
2026/9/6 4:16:48
SOME/IP 通信测试
2026/9/6 4:56:50
基于SpringBoot的企业公文流转管理系统的设计与实现毕业设计项目源码
2026/9/6 4:56:50
Hadoop+Spark电力数据可视化毕设完整方案与部署实践
2026/9/6 4:56:50
本地优先Coding Agent Shelley落地指南:从环境配置到批量任务实战
2026/9/6 4:56:50
JMeter 4000并发压测实战:从参数配置到性能瓶颈分析
2026/9/6 4:56:50
STM32C5驱动IIS3DWB10IS振动传感器:SPI通信与FIFO数据采集实现
2026/9/6 4:51:49
老平台MCU采购必读:控制节拍与时钟链路核对清单
2026/9/6 0:01:31
超人会飞不算本事:系统稳定依赖清晰规则与边界设计
2026/9/6 0:01:31
超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论
2026/9/6 0:01:31
基于CNN的调制信号识别:MATLAB实现时频图分类实战
2026/9/6 0:01:31
超人会飞不算本事:系统稳定依赖清晰规则与边界设计
2026/9/6 0:01:31
超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论
2026/9/6 0:01:31
基于CNN的调制信号识别:MATLAB实现时频图分类实战