Project1

标题: 求怎么捕捉键盘持续按压 [打印本页]

作者: 沉滞的剑    时间: 2013-4-18 20:14
标题: 求怎么捕捉键盘持续按压
本帖最后由 沉滞的剑 于 2013-4-19 03:42 编辑

我让一个窗口每当进行光标移动的时候刷新一次,但是当按钮持续按压的时候,窗口不刷新,直到再按一次键盘才有反应。
我想到两种方式解决,但是我不知道怎么做
1、有没有可能让持续按压只实现一次光标移动?
2、有没有可能捕捉按压状态,让处于按压状态的窗口持续更新?

我猜和这段代码有关,但是没有具体思路
RUBY 代码复制
  1. def process_cursor_move
  2.     return unless cursor_movable?
  3.     last_index = @index
  4.     cursor_down (Input.trigger?(:DOWN))  if Input.repeat?(:DOWN)
  5.     cursor_up   (Input.trigger?(:UP))    if Input.repeat?(:UP)
  6.     cursor_right(Input.trigger?(:RIGHT)) if Input.repeat?(:RIGHT)
  7.     cursor_left (Input.trigger?(:LEFT))  if Input.repeat?(:LEFT)
  8.     cursor_pagedown   if !handle?(:pagedown) && Input.trigger?(:R)
  9.     cursor_pageup     if !handle?(:pageup)   && Input.trigger?(:L)
  10.     Sound.play_cursor if @index != last_index
  11.   end

作者: Sion    时间: 2013-4-18 21:20
press?(key) 按键被按下返回true
trigger?(key) 按键 未被按下转变为按下 返回true
repeat?(key) 如果按键被按下,每隔几帧返回一次true

1、用trigger?(k)
2、用press?(k),另外,处于按压状态的窗口是指?

具体Symbol对应的Key参考F1帮助档吧。
作者: 沉滞的剑    时间: 2013-4-19 03:42
Sion 发表于 2013-4-18 21:20
press?(key) 按键被按下返回true
trigger?(key) 按键 未被按下转变为按下 返回true
repeat?(key) 如果按键 ...

谢了,用repeat?解决了,感谢大神。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1