设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3521|回复: 11
打印 上一主题 下一主题

[已经解决] 能否将全键盘脚本调整为与自带的按键判定相同?

[复制链接]

Lv2.观梦者

梦石
0
星屑
404
在线时间
41 小时
注册时间
2020-9-4
帖子
10
跳转到指定楼层
1
发表于 2020-9-4 19:34:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
有没有大佬给个帮助的,实在不知道怎么修了,具体情况就是在
开启可战斗状态(某个开关,控制并行处理的公共事件)前,
如果我提前按下了技能按键(ZASD等),它会在开启可战斗状态后把所有按过的技能全部释放一次。
但是如果我不使用全键盘脚本的Kboard.keyboard($R_Key_Z),转而使用分支条件自带的按钮C按下时,就不会有这种情况。
由于技能数量是比较多的,很多按键自带的按钮是没有的,所以能够通过修改脚本来实现我需要的效果呢?

Lv5.捕梦者

梦石
0
星屑
37533
在线时间
10904 小时
注册时间
2009-3-15
帖子
4875
2
发表于 2020-9-4 19:46:18 | 只看该作者
似乎全键盘是全局判断的..任何情況下先按了按键后到开始判断自动返回TRUE
我用RMXP的全键盘脚本也遇到这情況很烦恼..
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
404
在线时间
41 小时
注册时间
2020-9-4
帖子
10
3
 楼主| 发表于 2020-9-4 19:48:20 | 只看该作者
soulsaga 发表于 2020-9-4 19:46
似乎全键盘是全局判断的..任何情況下先按了按键后到开始判断自动返回TRUE
我用RMXP的全键盘脚本也遇到这情 ...

所以大佬这个有办法处理嘛……

点评

脚本...  发表于 2020-9-4 20:04
建议你艾特键盘作者修正  发表于 2020-9-4 20:03
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37533
在线时间
10904 小时
注册时间
2009-3-15
帖子
4875
4
发表于 2020-9-4 20:03:05 | 只看该作者
本帖最后由 soulsaga 于 2020-9-4 20:12 编辑

我也不知道怎么搞..大神快来
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
26444
在线时间
5314 小时
注册时间
2016-3-8
帖子
1657
5
发表于 2020-9-4 20:52:06 | 只看该作者
本帖最后由 alexncf125 于 2020-9-4 20:54 编辑

在全键盘脚本的def keyboard(rkey)內加一句拦截试试??
  1.   def keyboard(rkey)
  2.     return if rkey == $R_Key_Z && $game_switches[可战斗状态开关的ID] == false
  3.     GetKeyState.call(rkey) & 0x01 == 1  #
  4.   end
复制代码

如果上方的不行,就试试下方的,如果下方的也不行,那我也没法子了
  1.   def keyboard(rkey)
  2.     return if rkey == 0x5A && $game_switches[可战斗状态开关的ID] == false
  3.     GetKeyState.call(rkey) & 0x01 == 1  #
  4.   end
复制代码
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
404
在线时间
41 小时
注册时间
2020-9-4
帖子
10
6
 楼主| 发表于 2020-9-4 22:53:25 | 只看该作者
alexncf125 发表于 2020-9-4 20:52
在全键盘脚本的def keyboard(rkey)內加一句拦截试试??

如果上方的不行,就试试下方的,如果下方的也不行,那 ...

谢谢大佬的帮助,虽然仍旧不行……
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
404
在线时间
41 小时
注册时间
2020-9-4
帖子
10
7
 楼主| 发表于 2020-9-4 22:56:20 | 只看该作者
我有点好奇之前使用这个脚本的大佬没遇到过在菜单里按一边它也会触发一遍的状况嘛
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
13559
在线时间
2753 小时
注册时间
2014-10-4
帖子
756

R考场第七期纪念奖

8
发表于 2020-9-5 00:13:17 | 只看该作者
本帖最后由 SixRC 于 2020-9-5 00:15 编辑

因为原作者代码写岔了 没看api文档就开搞了..
判断是否按下应该是
RUBY 代码复制
  1. def keyboard(rkey)
  2.     GetKeyState.call(rkey) & 0x8000 == 0x8000  #
  3.   end

最低位判断的是可切换状态的键位 比方大小写锁定
用来判断其他按键的返回值理论上是未定义的..
不过实际好像是只要之前按下过就置位 所以出现了你说的情况
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
404
在线时间
41 小时
注册时间
2020-9-4
帖子
10
9
 楼主| 发表于 2020-9-5 22:38:52 | 只看该作者
SixRC 发表于 2020-9-5 00:13
因为原作者代码写岔了 没看api文档就开搞了..
判断是否按下应该是
  def keyboard(rkey)

谢谢大佬帮助!现在没问题了!
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37533
在线时间
10904 小时
注册时间
2009-3-15
帖子
4875
10
发表于 2020-9-5 23:52:19 | 只看该作者
SixRC 发表于 2020-9-5 00:13
因为原作者代码写岔了 没看api文档就开搞了..
判断是否按下应该是
  def keyboard(rkey)

谢谢大佬帮助!现在没问题了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-7-20 09:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表