您当前的位置: 首页 > 

开发游戏的老王

暂无认证

  • 2浏览

    0关注

    803博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

虚幻引擎图文笔记:长按事件(Key Hold event)的蓝图实现

开发游戏的老王 发布时间:2020-12-30 16:55:20 ,浏览量:2

长按事件也是游戏中的常见需求,长按事件的蓝图实现和代码实现思路不太一样,虽然节点用的不多但逻辑有点绕,本文详细解读一下实现方法,并且用宏制作一个拿来即用的长按事件处理节点

长按事件(Key Hold event)
  • 玩家按下某指定按键,并且在一定时间内(一般0.2秒左右)没有抬起该按键,就会触发一个长按事件
  • 触发完毕以后如果玩家依然不抬起该按键,并不会继续触发长按事件,除非抬起以后再次按下
  • 如果玩家按下该按键,但没有等到规定时间就抬起了,不会触发长按事件,而是触发一个短按事件
基本原理

使用宏实现

在这里插入图片描述 在图上我已经给节点起了名字以方便大家对应

Pressed事件

无论长按事件还是短按事件都是以按键按下为起点的

  1. 所以当有了Pressed事件以后做了三件事: 1.1 计时器重新计时(序列1计时器) 1.2 开启长按事件门序列1长按事件门Open) 1.3 开启短按事件门序列1短按事件门Open

  2. 如果计时器到了规定的时间(比如:0.2秒)并且此时长按事件门依然开着(计时器长按事件门Enter序列3),这就意味着玩家已经完成了长按的操作:

    2.1 关闭短按事件门序列2短按事件门Close),因为这一轮操作已经不会触发短按事件了 2.2 触发长按事件

Released事件
  • 如果玩家抬起按键发生在长按事件产生前,那么它会阻止本次长按事件的发生,并且产生一个短按事件
  • 如果玩家抬起按键发生在长按事件产生后,那么它什么也不会触发

所以当有了Released事件,它就做两件事:

  1. 关闭长按事件门序列2长按事件门Close
  2. 尝试产生短按事件序列2短按事件门EnterOutputs
使用方法

在这里插入图片描述

关注
打赏
1656935939
查看更多评论
立即登录/注册

微信扫码登录

0.0462s