我想要在游戏中加入更多的按键操作,
在之前做好的那个游戏里(看我的头像)实现WSAD来上下左右就够了,
通过projertj1抄来的下面四行给解决了。
65: 'left', // left arrow
87: 'up', // up arrow
68: 'right', // right arrow
83: 'down', // down arrow
但上面四行只能让rmmz_core.js这个插件定义在Input.keyMapper的
上、下、左、右、确定、取消这类功能实现。
要通过监测全键盘来实现其他功能好像就不行了。
于是找到了DK_Full_Input.js这个的插件。
Full Input - All keys of the keyboard and gamepad
(全输入 - 键盘和游戏手柄的所有键)
但是这个插件要是用作商用的话,好像要购买,还不是在steam的DLC来。
然后,想起了之前解决上下左右键的时候就找到了的下面这个视频。
rpgmaker 自定义按键,用QWER做技能的按键[04]_哔哩哔哩
之前是因为他在视频上也说是在哪里抄来并且修修改改搞出来的,
所以,我不知道有没有版权限制就没有使用了。
其实按照这个插件对照着VK键值表来一个一个的写,应该也是可以实现全键盘的。
但是我觉得做成插件可能会有版权问题
(虽然这种一个代码块通过简单堆叠和重复小改的,应该算是技术交流吧),
做成脚本就不能说有版权问题了吧。
(要是脚本都有版权的话,那就连说话的权利都没有了,谁说的话跟别人说过的话查重率能很低呢?)
然后我就给文心一言喂资料和聊天,再把它写出来的拿去测试(不会代码的人就是这样无奈)。
搞了很久,终于搞出下面这段出来了。
// 假设这段代码放在RPG Maker MZ的某个初始化脚本中
window.addEventListener('keydown', function(event) {
// 检查按键是否为'Q'
if (event.key === 'q' || event.keyCode === 81) {
// 'Q'键被按下的逻辑
// console.log('你按下了Q键');
// 在这里添加您想要执行的代码
// 比如显示消息、触发事件等
$gameMessage.add("你按下了Q键");
event.preventDefault(); // 阻止默认行为(如果需要)
}
});
搞出了一个Q之后,其他的按键百度搜索VK键值表对照着来就好了。
只是这样有一个问题,可能是由于浏览器缓存还是其他的什么原因,
会一直执行$gameMessage.add("你按下了Q键");
加上一个独立开关跳转到下一个事件页,或者是加上一个◆暂时消除事件就好了。
这样,还是太麻烦,而且跟文心一言聊天中得知,
浏览器本来就有各个按键和键值相对应的功能的,
而我们都知道rpgmaker是浏览器来实现的。
就让它那就不要键值了,直接让浏览器来监测按键。
(因为在测试中删除掉=== 81这个,依然正常运行才让文心一言聊到浏览器这个功能的)
后面再次让它精简这个脚本,就精简到下面这段了。
window.addEventListener('keydown', function(event) {
switch (event.key) {
case 'q':
$gameMessage.add("你按下了Q键");
break;
default:
// 如果不是上述任何按键,则不执行任何操作
break;
}
// 如果需要阻止默认行为,可以在特定case中调用event.preventDefault();
});
搞到了一个Q,我就让它吧键盘上的其它英文按键和数字按键、常用按键都搞到这个脚本里面去。
最后,一个脚本就可以实现大概的全键盘功能了。
你们可以把这一段复制到各种文本型AI,叫它把其他按键都搞进去。
一个脚本就可以了,不像第一个脚本需要每一个按键都一个独立的脚本。
最后,为了避免按键绑定的冲突,或许需要把第一张图片的这段代码都给注释掉。
记得在这个脚本的下面加上一个◆暂时消除事件,记得是并行执行。
在之前做好的那个游戏里(看我的头像)实现WSAD来上下左右就够了,
通过projertj1抄来的下面四行给解决了。
65: 'left', // left arrow
87: 'up', // up arrow
68: 'right', // right arrow
83: 'down', // down arrow
但上面四行只能让rmmz_core.js这个插件定义在Input.keyMapper的
上、下、左、右、确定、取消这类功能实现。
要通过监测全键盘来实现其他功能好像就不行了。
于是找到了DK_Full_Input.js这个的插件。
Full Input - All keys of the keyboard and gamepad
(全输入 - 键盘和游戏手柄的所有键)
但是这个插件要是用作商用的话,好像要购买,还不是在steam的DLC来。
然后,想起了之前解决上下左右键的时候就找到了的下面这个视频。
rpgmaker 自定义按键,用QWER做技能的按键[04]_哔哩哔哩
之前是因为他在视频上也说是在哪里抄来并且修修改改搞出来的,
所以,我不知道有没有版权限制就没有使用了。
其实按照这个插件对照着VK键值表来一个一个的写,应该也是可以实现全键盘的。
但是我觉得做成插件可能会有版权问题
(虽然这种一个代码块通过简单堆叠和重复小改的,应该算是技术交流吧),
做成脚本就不能说有版权问题了吧。
(要是脚本都有版权的话,那就连说话的权利都没有了,谁说的话跟别人说过的话查重率能很低呢?)
然后我就给文心一言喂资料和聊天,再把它写出来的拿去测试(不会代码的人就是这样无奈)。
搞了很久,终于搞出下面这段出来了。
// 假设这段代码放在RPG Maker MZ的某个初始化脚本中
window.addEventListener('keydown', function(event) {
// 检查按键是否为'Q'
if (event.key === 'q' || event.keyCode === 81) {
// 'Q'键被按下的逻辑
// console.log('你按下了Q键');
// 在这里添加您想要执行的代码
// 比如显示消息、触发事件等
$gameMessage.add("你按下了Q键");
event.preventDefault(); // 阻止默认行为(如果需要)
}
});
搞出了一个Q之后,其他的按键百度搜索VK键值表对照着来就好了。
只是这样有一个问题,可能是由于浏览器缓存还是其他的什么原因,
会一直执行$gameMessage.add("你按下了Q键");
加上一个独立开关跳转到下一个事件页,或者是加上一个◆暂时消除事件就好了。
这样,还是太麻烦,而且跟文心一言聊天中得知,
浏览器本来就有各个按键和键值相对应的功能的,
而我们都知道rpgmaker是浏览器来实现的。
就让它那就不要键值了,直接让浏览器来监测按键。
(因为在测试中删除掉=== 81这个,依然正常运行才让文心一言聊到浏览器这个功能的)
后面再次让它精简这个脚本,就精简到下面这段了。
window.addEventListener('keydown', function(event) {
switch (event.key) {
case 'q':
$gameMessage.add("你按下了Q键");
break;
default:
// 如果不是上述任何按键,则不执行任何操作
break;
}
// 如果需要阻止默认行为,可以在特定case中调用event.preventDefault();
});
搞到了一个Q,我就让它吧键盘上的其它英文按键和数字按键、常用按键都搞到这个脚本里面去。
最后,一个脚本就可以实现大概的全键盘功能了。
你们可以把这一段复制到各种文本型AI,叫它把其他按键都搞进去。
一个脚本就可以了,不像第一个脚本需要每一个按键都一个独立的脚本。
最后,为了避免按键绑定的冲突,或许需要把第一张图片的这段代码都给注释掉。
记得在这个脚本的下面加上一个◆暂时消除事件,记得是并行执行。