美文网首页
CocosCreator-如何处理键盘事件

CocosCreator-如何处理键盘事件

作者: 程序猿TODO | 来源:发表于2021-03-25 09:46 被阅读0次

    Cocos Creator的 cc.Node 有一套完整的事件监听和分发机制。在这套机制之上,引擎提供了一些基础的节点相关的系统事件。

    Cocos Creator支持的系统事件包含鼠标、触摸、键盘、重力传感等四种,其中鼠标和触摸事件是被直接触发在相关节点上的,所以称为节点系统事件。与之对应的,键盘和重力传感事件被称为全局系统事件。

    本文主要讲述如何处理全局系统中的键盘事件。过程非常简单,只要注册该事件类型,并编写相应的处理函数即可,如下:

    在 node 节点的 onLoad 中注册键盘事件响应

    onLoad () {
        cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this);
        cc.systemEvent.on(cc.SystemEvent.EventType.KEY_UP, this.onKeyUp, this);
    },
    

    在 node 节点的 onDestroy 中注销键盘事件响应

    onDestroy () {
            cc.systemEvent.off(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this);
            cc.systemEvent.off(cc.SystemEvent.EventType.KEY_UP, this.onKeyUp, this);
    },
    

    处理按键按下事件

    onKeyDown (event) {
            switch(event.keyCode) {
                case cc.KEY.ctrl:
                    cc.log('turn down ctrl');
                    ....
                    break;
                case cc.KEY.z:
                    cc.log('turn down z');
                    ....
                    break;
            }
    },
    

    处理按键释放事件

    onKeyUp (event) {
            switch(event.keyCode) {
                case cc.KEY.ctrl:
                    cc.log('turn up ctrl');
                    ....
                    break;
                case cc.KEY.z:
                    cc.log('turn up z');
                    ....
                    break;
            }
    },
    

    最后,附上 Cocos Creator 中定义的键盘按键的索引列表。(索引对应的具体键位请参照官方文档:http://docs.cocos.com/creator/api/zh/enums/KEY.html

    索引

    • none
    • back
    • menu
    • backspace
    • tab
    • enter
    • shift
    • ctrl
    • alt
    • pause
    • capslock
    • escape
    • space
    • pageup
    • pagedown
    • end
    • home
    • left
    • up
    • right
    • down
    • select
    • insert
    • Delete
    • 0
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • a
    • b
    • c
    • d
    • e
    • f
    • g
    • h
    • i
    • j
    • k
    • l
    • m
    • n
    • o
    • p
    • q
    • r
    • s
    • t
    • u
    • v
    • w
    • x
    • y
    • z
    • num0
    • num1
    • num2
    • num3
    • num4
    • num5
    • num6
    • num7
    • num8
    • num9
    • *(乘号)
    • +(加号)
    • -(减号)
    • numdel
    • /
    • f1
    • f2
    • f3
    • f4
    • f5
    • f6
    • f7
    • f8
    • f9
    • f10
    • f11
    • f12
    • numlock
    • scrolllock
    • ;
    • semicolon
    • equal
    • =
    • ,
    • comma
    • dash
    • .
    • period
    • forwardslash
    • grave
    • [
    • openbracket
    • backslash
    • ]
    • closebracket
    • quote
    • dpadLeft
    • dpadRight
    • dpadUp
    • dpadDown
    • dpadCenter

    相关文章

      网友评论

          本文标题:CocosCreator-如何处理键盘事件

          本文链接:https://www.haomeiwen.com/subject/tpgxhltx.html