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

Project1

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

[已经解决] InputExtra这个全键盘插件怎么使用

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2016-4-19
帖子
17
跳转到指定楼层
1
发表于 2016-8-15 10:46:36 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
//=============================================================================
// InputExtra.js
//=============================================================================

/*:
* @plugindesc Extend Input with the full keyboard.
* @author taroxd
*
* @help
*
* API:
*   InputExtra.isPressed(keyCode)
*   InputExtra.isTriggered(keyCode)
*   InputExtra.isRepeated(keyCode)
*   InputExtra.isLongPressed(keyCode)
*
*   `InputExtra' is basically the same as `Input'
*   except that it accepts the keyCode as a parameter.
*/

window.InputExtra = function() {

    var states = {};

    function appendToInput(name, func) {
        var old = Input[name];
        Input[name] = function() {
            old.apply(Input, arguments);
            func.apply(null, arguments);
        }
    }

    function onKeyDown(event) {
        var keyCode = event.keyCode;
        if(!states[keyCode]) {
            states[keyCode] = 0;
        }
    }

    function onKeyUp(event) {
        var keyCode = event.keyCode;
        if (keyCode) {
            delete states[keyCode];
        }
    }

    function clear() {
        states = {};
    }

    function update() {
        for (var code in states) {
            ++states[code];
        }
    }

    appendToInput('_onKeyDown', onKeyDown);
    appendToInput('_onKeyUp', onKeyUp);
    appendToInput('_onLostFocus', clear);

    appendToInput('update', update);
    appendToInput('clear', clear);

    return {
        isPressed: function(keyCode) {
            return states[keyCode] != null;
        },

        isTriggered: function(keyCode) {
            return states[keyCode] === 1;
        },

        isRepeated: function(keyCode) {
            var state = states[keyCode];
            return (state === 1 ||
                (state >= Input.keyRepeatWait &&
                state % Input.keyRepeatInterval === 0));
        },

        isLongPressed: function(keyCode) {
            return states[keyCode] >= Input.keyRepeatWait;
        }
    };

}();





应用程序编程接口:
InputExtra压(密码)。
InputExtra的认知(密码)。
InputExtra反复(密码)。
InputExtra islongpressed(密码)。
` inputextra”基本上是作为`输入相同的“
除了接受密码作为参数。


翻译过来是这样的  

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2016-4-19
帖子
17
3
 楼主| 发表于 2016-8-16 14:39:56 | 只看该作者
汪汪 发表于 2016-8-15 10:57
keycode你需要百度一下

InputExtra.isPressed(keycode)   

感谢  方法我已经找到了
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
帖子
1516
2
发表于 2016-8-15 10:57:20 | 只看该作者
keycode你需要百度一下

InputExtra.isPressed(keycode)   
keycode对应的键是按下
InputExtra.iisTriggered(keycode)   
keycode对应的键是按下的那瞬间
InputExtra.iisRepeated(keycode)   
keycode对应的键是重复按下
InputExtra.iisLongPressed(keycode)   
keycode对应的键是长按
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-2 08:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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