- 累计送礼:
 - 0 个
 
 - 累计收礼:
 - 0 个
 
 TA的每日心情  | 开心 2025-10-18 22:41 | 
|---|
 
  签到天数: 165 天 连续签到: 1 天 [LV.7]常住居民III 
  
管理员 
    
    
        - VIP
 
        - 6 
 
     
    
        - 卡币
 
        - 14829 
 
     
    
        - OK点
 
        - 16 
 
     
    
    - 推广点
 
    - 0 
 
     
	
    - 同能卷
 
    - 0 
 
     
  
	- 积分
 - 17954
 
 
  
 
  
 | 
 
本人的 输入按键重新设置 同时使用时,请在适当时机使用     ww.InputUsePlugins.start() 以确保按键安装 
JAVASCRIPT 代码 下载
- //=============================================================================
 - // InputUsePlugins.js
 - //=============================================================================
 - /*:
 -  * @plugindesc 按键调用插件
 -  * @author wangwang
 -  *
 -  * @param  InputUsePlugins
 -  * @desc 确定是按键调用插件的参数,请勿修改
 -  * @default 汪汪
 -  *
 -  * @param KeyName
 -  * @desc 键对应名,请勿与mv默认设置冲突
 -  * @default "65":"A","68":"D"
 -  *
 -  * @param UsePlugin
 -  * @desc 键名调用方法
 -  * @default "A":{"isTriggerLongPressed":"IUP test isTriggerLongPressed","isTriggered":"IUP test1 isTriggered","isKeyUpTriggered":"IUP test2 isKeyUpTriggered"}
 -  *
 -  * @param UseEval
 -  * @desc 键名调用脚本
 -  * @default "D":"console.log('D')"
 -  *
 -  * @help
 -  * 帮助的信息
 -  *
 -  * kayname 用来扩展mv的按键
 -  * 是给键盘按键设置一个名称,不同的键可以设置相同的名称,
 -  * 前面的是键对应的值,具体哪个按键对应的什么值可以上网上查询 键盘键值,比如 65 对应的是 键盘上 的 A键
 -  * 后面的是键对应的名称,可以任意设置,比如 我们把 65 设置为 "A" , 68 (d键) 设置为 "D" ,当然你也可以吧 65 设置为 "随便起个名",
 -  * 写法是  
 -  * "数字":"名称"   
 -  * 如
 -  * "65":"A"
 -  *
 -  * mv本事也设置了一些 ,如下
 -  * 9: 'tab',       // tab
 -  * 13: 'ok',       // enter
 -  * 16: 'shift',    // shift
 -  * 17: 'control',  // control
 -  * 18: 'control',  // alt
 -  * 27: 'escape',   // escape
 -  * 32: 'ok',       // space
 -  * 33: 'pageup',   // pageup
 -  * 34: 'pagedown', // pagedown
 -  * 37: 'left',     // left arrow
 -  * 38: 'up',       // up arrow
 -  * 39: 'right',    // right arrow
 -  * 40: 'down',     // down arrow
 -  * 45: 'escape',   // insert
 -  * 81: 'pageup',   // Q
 -  * 87: 'pagedown', // W
 -  * 88: 'escape',   // X
 -  * 90: 'ok',       // Z
 -  * 96: 'escape',   // numpad 0
 -  * 98: 'down',     // numpad 2
 -  * 100: 'left',    // numpad 4
 -  * 102: 'right',   // numpad 6
 -  * 104: 'up',      // numpad 8
 -  * 120: 'debug'    // F9
 -  *
 -  * UsePlugin 是用来调用插件方法 相当于事件里最后一页的 插件指令
 -  * UseEval 是用来调用脚本 相当于事件里最后一页的 脚本
 -  * 前面写用于判断的键名,如 "A" 就是指对于键名 "A" 的调用 ,
 -  * 当然,你也可以使用mv原有的那些名字比如 "ok" ,"shift" 不过不建议,因为那样可能影响正常游戏操作
 -  *
 -  * 后面有两种写法
 -  * 1,字符串, 比如 "IUP test isTriggerLongPressed"
 -  * 这样就是调用 插件指令 IUP test isTriggerLongPressed ,记得字符串两边加""
 -  * 当然也可以是脚本 比如 "$gameVariables.setValue(1,100)"  
 -  * 设置1号变量为100
 -  * 这种情况下,默认是按下键的瞬间调用它
 -  * 2,对象,使用{"isTriggerLongPressed":"IUP test isTriggerLongPressed","isTriggered":"IUP test1 isTriggered"} 这样的写法
 -  * 这种情况下, 会在
 -  * "isTriggered"
 -  * 按下瞬间(按下,只触发一次)调用 插件指令 "IUP test1 isTriggered"
 -  * "isTriggerLongPressed"
 -  * 长按下瞬间(长按一会,只触发一次)调用 插件指令 "IUP test isTriggerLongPressed"
 -  *
 -  * isPressed 是按下
 -  * isTriggered 是刚按下 (推荐)
 -  * isRepeated 是重复按下
 -  * isLongPressed 是长按下
 -  * isTriggerLongPressed 是长按下瞬间 (添加,推荐)
 -  * isKeyUpTriggered 是抬起瞬间(添加)
 -  *
 -  * 一个键写完后要写另一个键用 , 隔开
 -  * 如 "A":"XXXXXXX","D":"YYYYYYYYY"
 -  *
 -  *
 -  *
 -  */
 - (function () {
 -     var _Game_Interpreter_pluginCommand =
 -         Game_Interpreter.prototype.pluginCommand;
 -     Game_Interpreter.prototype.pluginCommand = function (command, args) {
 -         _Game_Interpreter_pluginCommand.call(this, command, args);
 -         if (command === 'IUP') {
 -             switch (args[0]) {
 -                 case 'start':
 -                     ww.InputUsePlugins.start()
 -                     break;
 -                 case 'open':
 -                     ww.InputUsePlugins.open()
 -                     break;
 -                 case 'close':
 -                     ww.InputUsePlugins.close()
 -                     break;
 -                 case 'test':
 -                     console.log("测试  " + args[1] + " 是长按下瞬间")
 -                     break;
 -                 case 'test1':
 -                     console.log("测试 1  " + args[1] + " 是按下")
 -                     break;
 -                 case 'test2':
 -                     console.log("测试 2  " + args[1] + " 是抬起")
 -                     break;
 -             }
 -         }
 -     };
 -     //长按后瞬间
 -     Input.isTriggerLongPressed = function (keyName) {
 -         if (this._isEscapeCompatible(keyName) && this.isLongPressed('escape')) {
 -             return true;
 -         } else {
 -             return (this._latestButton === keyName &&
 -                 this._pressedTime === this.keyRepeatWait);
 -         }
 -     };   
 -     //抬起按键
 -     Input.isKeyUpTriggered = function (keyName) {
 -         if (this._isEscapeCompatible(keyName) && this.isLongPressed('escape')) {
 -             return true;
 -         } else {
 -             return ( !this._currentState[keyName]&& this._previousState[keyName]);
 -         }  
 -     };
 -     ww = {}
 -     ww.InputUsePlugins = {}
 -     ww.InputUsePlugins._keyname = {}
 -     ww.InputUsePlugins._useplugin = {}
 -     ww.InputUsePlugins._useeval = {}
 -     ww.InputUsePlugins.SceneManager_updateInputData = SceneManager.updateInputData
 -     SceneManager.updateInputData = function () {
 -         if (ww.InputUsePlugins.open) {
 -             ww.InputUsePlugins.use()
 -         }
 -         ww.InputUsePlugins.SceneManager_updateInputData.call(this)
 -     };
 -     ww.InputUsePlugins.init = function (p) {
 -         var p = p
 -         var keyname = p.parameters["KeyName"] || ""
 -         var useplugin = p.parameters["UsePlugin"] || ""
 -         var useeval = p.parameters["UseEval"] || ""
 -         try { eval('this._keyname = {' + keyname + '}') } catch (e) { console.log( "keyname is error")}
 -         try { eval('this._useplugin = {' + useplugin + '}') } catch (e) {console.log( "useplugin is error") }
 -         try { eval('this._useeval = {' + useeval + '}') } catch (e) {console.log( "useeval is error") }
 -         var kn = this._keyname
 -         for (var i in kn) {
 -             if (!Input.keyMapper[i]) {
 -                 Input.keyMapper[i] = kn[i]
 -             }
 -         }
 -     }
 -     ww.InputUsePlugins.use = function () {
 -         var use = this._useeval
 -         for (var name in use) {
 -             try {
 -                 var nr = use[name]
 -                 var type = typeof (nr)
 -                 if (type === "string") {
 -                     if (Input.isTriggered(name)) {
 -                         eval(nr)
 -                     }
 -                 } else if (type === "object") {
 -                     for (var f in nr) {
 -                         if (Input[f] && Input[f](name)) {
 -                             var nr2 = nr[f]
 -                             if (typeof (nr2) === "string") {
 -                                 eval(nr2)
 -                             }
 -                         }
 -                     }
 -                 }
 -             } catch (e) {
 -             }
 -         }
 -         var use = this._useplugin
 -         for (var name in use) {
 -             try {
 -                 var nr = use[name]
 -                 var type = typeof (nr)
 -                 if (type === "string") {
 -                     if (Input.isTriggered(name)) {
 -                         this.usepc(nr)
 -                     }
 -                 } else if (type === "object") {
 -                     for (var f in nr) {
 -                         if (Input[f] && Input[f](name)) {
 -                             var nr2 = nr[f]
 -                             if (typeof (nr2) === "string") {
 -                                 this.usepc(nr2)
 -                             }
 -                         }
 -                     }
 -                 }
 -             } catch (e) {
 -             }
 -         }
 -     }
 -     ww.InputUsePlugins.usepc = function (s) {
 -         var pc = Game_Interpreter.prototype.pluginCommand
 -         var args = s.split(" ");
 -         var command = args.shift();
 -         pc(command, args);
 -     }
 -     ww.InputUsePlugins.start = function () {
 -         this._open = true
 -         this.load()
 -     }
 -     ww.InputUsePlugins.open = function () {
 -         this._open = true
 -     }
 -     ww.InputUsePlugins.close = function () {
 -         this._open = false
 -     }
 -     ww.InputUsePlugins.load = function () {
 -         for (var i = 0; i < $plugins.length; i++) {
 -             var plugin = $plugins[i]
 -             if (plugin.parameters["InputUsePlugins"]) {
 -                 if (plugin.status == true) {
 -                     ww.InputUsePlugins.init(plugin)
 -                 }
 -             }
 -         }
 -     }
 -     ww.InputUsePlugins.start()
 - })();
 
  复制代码
             本帖来自P1论坛作者汪汪,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=394707  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。   |   
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 
		
		
		 
 
 |