查看: 2314|回复: 3

[交流讨论] 关于键盘的监听的浅谈

[复制链接]
梦石
0
星屑
2853
在线时间
190 小时
注册时间
2021-5-4
回帖
58
发表于 2022-10-15 16:33:43 | 显示全部楼层 |阅读模式

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

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

×
萌新一枚 ,最近一直在研究键盘监听的事件
前些天从网上看到一篇 键盘交互的内容   博主为进入盛夏之门
然平没有 太多的明白 不过也略有一丝灵感  
以下是该博主的网址  https://blog.csdn.net/xmoss/article/details/104857017   非常感谢

//定义一个函数
var JRSXZM = JRSXZM || {};
JRSXZM.controller = {};

//貌似是复写 这部不太明白
//插件

JRSXZM.controller.SUBupdate = Scene_Map.prototype.update;
Scene_Map.prototype.update = function () {
    JRSXZM.controller.SUBupdate.call(this);
//按下确定键后弹出语句
    if (Input.isTriggered('ok'))
        $gameMessage.add('按下了确定按扭')
//      console.log('我按下了确定键')
//      console.log(1)
};
1.png
//——————————————

//再次修改一下
//将游戏默认键盘Input.keyMapper函数导入keyboard_key数组
let keyboard_key=[]
        for(let i in Input.keyMapper ){
               
        if(Input.keyMapper!=undefined){       
                keyboard_key.push(Input.keyMapper)
                               
                }
                       
        }
        //调用keyboard_key 查看

//将keyboard_key数组重复的内容去除 导入 keyboard_key1数组
let keyboard_key1=[]
keyboard_key1.push(keyboard_key[0])
for(let i=1;i<keyboard_key.length;i++){
        let flag=true
        for(let j=0;j<keyboard_key1.length;j++){
                       
                if(keyboard_key==keyboard_key1[j]){       
                        flag=false       
                }
                       
                }
                if(flag){
                       
                        keyboard_key1.push(keyboard_key)
                }
               
        }

//调用keyboard_key1 查看

//最后再之前将函数修改
JRSXZM.controller.SUBupdate = Scene_Map.prototype.update;
Scene_Map.prototype.update = function () {
    JRSXZM.controller.SUBupdate.call(this);
//按下确定键后弹出语句
for(let i=0;i<keyboard_key1.length;i++){
        if (Input.isTriggered(keyboard_key1))
        $gameMessage.add(`按下了${keyboard_key1}按扭`)
//      console.log('我按下了确定键')
//      console.log(1)
}
   
};
2.png
3.png

但是有什么具体的应用呢 复写不太明白 不知有没有大神能看一下

梦石
0
星屑
2853
在线时间
190 小时
注册时间
2021-5-4
回帖
58
 楼主| 发表于 2022-10-15 16:39:28 | 显示全部楼层
最用一部分修改为
JRSXZM.controller.SUBupdate = Scene_Map.prototype.update;
Scene_Map.prototype.update = function () {
    JRSXZM.controller.SUBupdate.call(this);
//按下确定键后弹出语句
for(let i=0;i<keyboard_key1.length;i++){
        if (Input.isTriggered(keyboard_key1[i]))
        $gameMessage.add(`按下了${keyboard_key1[i]}按扭`)
//      console.log('我按下了确定键')
//      console.log(1)
}
   
};
回复

使用道具 举报

梦石
0
星屑
2853
在线时间
190 小时
注册时间
2021-5-4
回帖
58
 楼主| 发表于 2022-10-15 16:49:09 | 显示全部楼层
有没哪位大神 可以做全键盘
回复

使用道具 举报

梦石
0
星屑
4584
在线时间
369 小时
注册时间
2020-1-29
回帖
211
发表于 2022-10-16 20:37:08 | 显示全部楼层
想到一个,可以输入 上下左右AB,然后开启作弊,哈哈
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部