美文网首页
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-如何处理键盘事件

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

  • CocosCreator-如何处理鼠标事件

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

  • 处理键盘事件

    介绍: 我们处理键盘事件时通常要写一大堆的代码,使用观察者模式虽然也可以实现,但是容易出错且非常麻烦,第三方库IQ...

  • Web之事件处理

    javascript处理事件 事件种类 基本事件(表单,window,键盘,鼠标) HTML5事件(网络,通信,拖...

  • Android 学习笔记day10

    目录一、概述二、处理键盘事件(一)概述(二)测试-综合三、处理触摸事件(一)测试-移动位置(二)手势事件补充1、主...

  • selenium学习笔记2——键盘事件--Keys() 类

    Keys() 类提供了键盘上几乎所有按键的方法。 SendKeys 库专业处理键盘事件,能够模拟键盘操作。回车、T...

  • DOM(2) 事件操作

    1.事件 通过鼠标、键盘对浏览器页面所做的动作就是事件. 事件一旦发生需要有时间处理,该处理称为'事件驱动',...

  • 触摸,键盘事件处理流程

    1.整体流程 2.消息类型 3.按键消息派发过程 4.按键总体派发流程 ViewRoot中定义了一个ViewRoo...

  • iOS全局处理键盘事件

    最近做的项目中,有一个类似微信的聊天发送框,屏幕底端有一个输入框用textView来做,当textView成为第一...

  • IQKeyboardManager - 键盘事件处理(1)

    https://github.com/hackiftekhar/IQKeyboardManager/tree/v3...

网友评论

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

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