Project1

标题: 如何让RMXP系统判定两个按键是“同时”触发的? [打印本页]

作者: slick    时间: 2009-6-7 23:49
标题: 如何让RMXP系统判定两个按键是“同时”触发的?
如果你两个手指按在两个键上,就算你脑子里想的是“同时”按下,40FPS的刷新频率

仍会得出如下结论——

  两个按键是先后按下去的!

哪位大大能帮我用消除这种现象,谢谢{/ll}

P.S. 最好将这种方法整合入“全键盘按键调用脚本”。时间容差最好在4-5帧之间。

再次感谢。{/ll} [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: tommay    时间: 2009-6-7 23:52
LZ是觉得:判断不应该如此灵敏,允许在一定时间内先后按下两个键?
作者: slick    时间: 2009-6-7 23:54
以下引用tommay于2009-6-7 15:52:03的发言:

LZ是觉得:判断不应该如此灵敏,允许在一定时间内先后按下两个键?


没错,一般人在操作键盘时这种微小差异一般在 0.0几秒 - 0.1秒之间。

《拳皇》系列这方面就做得很不错。
作者: SeRiKa    时间: 2009-6-8 01:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: slick    时间: 2009-6-8 02:29
以下引用SeRiKa于2009-6-7 17:44:42的发言:

并行事件的条件判断不是能判断是否同时按吗?
◆条件分岐 : 按钮 下 被按下时
   ◆条件分岐 : 按钮 B 被按下时
   ◆
    : 分歧结束
   ◆
: 分歧结束


[本贴由作者于 2009-6-7 17:47:20 最后编辑]


不,我正在制作ARPG,需要脚本整合

作者: 紫苏    时间: 2009-6-8 18:54
用 Input.trigger? 判断刚按下一个键的时候把当前进程的系统 CPU 运行时间保存到一个变量中(通过这一句:Time.times.stime),另一个键刚按下时也保存到另一个变量中,如果两个变量的差值小于等于 0.0X 秒,说明同时按下了~

如果要用帧数判断的话就代入 Graphics.frame_count [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: HзO    时间: 2009-6-8 19:21
貌似角色的斜向射击用得着,两个方向键一起按~
作者: TERENCE    时间: 2009-6-8 19:59
大致思路....不是完善的
光是这样一直按住某键是会陷入死循环,
还需要搭配其他判断式去中断
[LINE]1,#dddddd[/LINE]
if Input.trigger?(XXX)
  loop do
   unless Input.trigger?(XXX)
    break
   end
   if Input.trigger?(YYY)
    要執行的函式
    break
   end
  end
end
[LINE]1,#dddddd[/LINE]
不知可不可行
(不知按键弹跳效应会不会影响)
P.S.
按鍵彈跳現象就是本來按鍵按一下,
正常的情況下只送出1個clock的信號出去,
但因為按鍵本身有彈跳現象,
所以clock的前後緣會產生連續極短時間的clock..... [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~




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