Project1

标题: 发个小东西,按键触发公共事件 [打印本页]

作者: kano521241    时间: 2020-6-15 17:56
标题: 发个小东西,按键触发公共事件
本帖最后由 kano521241 于 2020-6-16 13:59 编辑

印象里好像有过类似的插件了……虽然是没有什么技术含量的东西,不过还是发出来吧

需要@taroxd的全键盘脚本
https://rpg.blue/thread-386610-1-1.html
http://taroxd.github.io/rpgmv-plugins/InputExtra.html


按照三楼的方法进行了更改

KeyPublicEvents.js

作者: zths    时间: 2020-6-15 19:31
这个实现方式  真厉害
作者: zths    时间: 2020-6-15 19:52
本帖最后由 zths 于 2020-6-15 20:01 编辑

JAVASCRIPT 代码复制
  1. var KeyParameters = PluginManager.parameters('KeyPublicEvents');
  2. if(Scene_Map.prototype.updateBk === undefined){
  3.         Scene_Map.prototype.updateBk = Scene_Map.prototype.update;//备份原 update
  4. }
  5. Scene_Map.prototype.update = function(){
  6.     this.updateBk.apply(this,arguments);//应用源 update 使用传入的参数表(无所谓方法定义到底有几个参数)
  7.     KeyPublicEventsUpdate();
  8. }
  9. var kvPar = {
  10.     "Tab":9,
  11.     "End":35,
  12.     "Home":36
  13.     //等等等等
  14. };
  15. function KeyPublicEventsUpdate(){
  16.     for(var k in kvPar){//在对象 kvPar 里遍历所有的键
  17.         var keyCode = kvPar[k];//拿到对应的keyCode
  18.         if(InputExtra.isTriggered(keyCode) && KeyParameters[k] !== 0){//判断是否按下 和 是否定义了事件ID
  19.             $gameTemp.reserveCommonEvent(KeyParameters[k]*1);//初始化事件
  20.         }
  21.     }
  22. }

建议写任何代码  发现自己有大量复制黏贴的趋势  就想想是不是可以合并一下....
尽量别复制一堆重复的代码,比较好维护也比较好看




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