`

Cocos2d-JS键盘事件

阅读更多

Cocos2d-JS中的键盘事件与触摸事件不同,它没有空间方面信息。键盘事件不仅可以响应键盘,还可以响应设备的菜单。
键盘事件是EventKeyboard,对应的键盘事件监听器(cc.EventListener.KEYBOARD),键盘事件响应属性:
onKeyPressed。当键按下时回调该属性所指定函数。
onKeyReleased。当键抬起时回调该属性所指定函数。
使用键盘事件处理的代码片段如下:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. onEnter: function () {  
  2.         this._super();  
  3.         cc.log("HelloWorld onEnter");  
  4.       
  5.         cc.eventManager.addListener({   ①  
  6.         event: cc.EventListener.KEYBOARD,   ②  
  7.         onKeyPressed:  function(keyCode, event){    ③  
  8.         cc.log("Key with keycode " + keyCode + " pressed");  
  9.         },  
  10.         onKeyReleased: function(keyCode, event){    ④  
  11.         cc.log("Key with keycode " + keyCode + " released");  
  12.         }  
  13.         }, this);  
  14.     },  
  15.     onExit: function () {  
  16.         this._super();  
  17.         cc.log("HelloWorld onExit");  
  18.         cc.eventManager.removeListeners(cc.EventListener.KEYBOARD); ⑤  
  19.     }  

上述代码第①行cc.eventManager.addListener是通过快捷方式注册事件监听器对象。第②行代码是设置键盘事件cc.EventListener.KEYBOARD。第③行代码是设置键盘按下属性onKeyPressed,其中的参数keyCode是按下的键编号。第④行代码是设置键盘抬起属性onKeyReleased。
上述onExit()函数是退出层时候回调,我们在代码第⑤行注销所有键盘事件的监听。
我们可以使用Cocos Code IDE和WebStorm工具进行测试,输出的结果如下:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. JS: Key with keycode 124 released  
  2. JS: Key with keycode 124 pressed  
  3. JS: Key with keycode 139 pressed  
  4. JS: Key with keycode 139 released  
  5. JS: Key with keycode 124 released  
  6. JS: Key with keycode 139 pressed  
  7. JS: Key with keycode 124 pressed  
  8. JS: Key with keycode 139 released  
  9. JS: Key with keycode 124 released  
  10. JS: Key with keycode 139 pressed  
  11. JS: Key with keycode 124 pressed  
  12. JS: Key with keycode 139 released  
  13. JS: Key with keycode 124 released  

 

 

 

更多内容请关注最新Cocos图书《Cocos2d-x实战:JS卷——Cocos2d-JS开发

本书交流讨论网站:http://www.cocoagame.net

欢迎加入Cocos2d-x技术讨论群:257760386

更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com

 

 

 

 

《Cocos2d-x实战 JS卷》现已上线,各大商店均已开售:

京东:http://item.jd.com/11659698.html

欢迎关注智捷iOS课堂微信公共平台,了解最新技术文章、图书、教程信息

分享到:
评论

相关推荐

    Cocos2d-JS游戏开发

    同时,Cocos2d-JS的事件系统使得响应用户输入和游戏事件变得简单,如触摸事件、键盘事件等,这对于游戏的交互设计至关重要。 在Cocos2d-JS中,动画是游戏生动性的关键。通过序列帧动画(SpriteSheet)和动作组合,...

    《Cocos2d-Js开发之旅-从HTML5到原生手机游戏》完整源码

    5. **事件处理**:Cocos2d-Js提供了丰富的事件系统,包括触摸事件、键盘事件等。通过源码,你可以学习如何监听和响应这些事件,实现用户交互。 6. **游戏逻辑与状态管理**:书中可能包含游戏状态机的设计和实现,...

    Cocos2d-JS---demo

    4. **事件系统**:Cocos2d-JS 提供了完善的事件处理机制,如触摸事件、键盘事件等,让开发者能够轻松响应用户操作。 5. **资源管理**:Cocos2d-JS 包含了图片、音频、字体等资源的加载和管理功能,支持异步加载,...

    Cocos2d-x实战 JS卷

    《Cocos2d-x实战 JS卷》是一本深入探讨Cocos2d-x游戏开发的专著,主要聚焦于使用JavaScript语言进行游戏编程。Cocos2d-x是一个开源的游戏开发框架,广泛应用于移动设备和桌面平台,支持iOS、Android、Windows等多...

    《Cocos2d-x实战 JS卷 Cocos2d-js开发》随书源码下

    《Cocos2d-x实战 JS卷 Cocos2d-js开发》是一本专注于使用JavaScript进行Cocos2d-x游戏开发的专业书籍。随书源码包含了从第13章到第24章的示例代码,由于文件大小超出上传限制,源码被分为两个压缩包。在这些章节中,...

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    cocos2d-x 是一个跨平台的游戏开发框架,它基于C++,同时提供了Lua和JavaScript的绑定,让开发者可以方便地在多种操作系统上创建2D游戏、演示程序和其他图形交互应用。这个“cocos2d-x-3.8.zip”压缩包包含的是cocos...

    cocos2d-js 开发之旅-源代码

    7. **事件处理**:cocos2d-js提供一套完善的事件处理机制,包括触摸事件、键盘事件等,使得用户可以通过触摸屏幕或按键与游戏进行交互。 8. **渲染系统**:基于Canvas和WebGL,cocos2d-js提供高性能的2D渲染能力,...

    cocos2d-x-cocos2d-x-2.2.2.zip

    在cocos2d-x 2.2.2中,开发者可以利用C++语言进行编程,同时也支持Lua和JavaScript作为脚本语言,这大大增加了开发的灵活性。C++的性能优势结合脚本语言的易用性,使得游戏的开发过程既高效又便捷。同时,cocos2d-x...

    Cocos2d-x实战C++卷关东升著完整版pdf

    接着,书中会讲解Cocos2d-x的事件处理机制,包括触摸事件、键盘事件等,这些都是游戏交互必不可少的部分。同时,还会涉及动画和物理引擎的使用,如动作(Action)、序列(Sequence)、组(Group)以及Box2D物理引擎...

    cocos2d-x-3.1.zip

    2. **C++基础**:Cocos2d-x主要采用C++作为编程语言,同时也支持Lua和JavaScript,但3.1版本主要集中在C++上,这需要开发者具备一定的C++基础。 3. **渲染引擎**:Cocos2d-x 3.1包含了强大的2D渲染引擎,能够处理...

    Cocos2d-JS开发之旅 从HTML5到原生手机游戏

    Cocos2d-JS是Cocos2d-x引擎的一个分支,它将Cocos2d-x的强大功能与JavaScript的易用性相结合,让开发者能够以一种高效且灵活的方式进行游戏开发。 在HTML5时代,Cocos2d-JS为开发者提供了在浏览器中运行游戏的能力...

    Cocos2d-JS v3.0官方api文档

    Cocos2d-JS v3.0是一款强大的2D游戏开发框架,专为JavaScript开发者设计。这个框架将Cocos2d-x的C++版本与JavaScript进行了无缝集成,使得开发者能够利用JavaScript编写高性能的游戏,同时享受跨平台的便利。Cocos2d...

    Cocos2d-JS-v3.0-API

    4. **事件处理**:Cocos2d-JS 提供了一套完整的事件处理机制,包括触摸、键盘、鼠标事件,以及游戏特定的事件如碰撞检测。 5. **音频管理**:支持背景音乐和音效的播放,提供了简单的音频控制接口。 6. **资源管理...

    cocos2d-x 案例开发大全 第二章(源码)

    8. **事件处理(Event Handling)**:cocos2d-x的事件模型允许开发者监听和响应用户的触摸、键盘等输入事件,以及游戏内部的事件,如节点的添加或删除。 9. **纹理(Texture)**:cocos2d-x使用Texture Atlas管理纹理,...

    cocos2d-1.0.1-x-0.10.0

    4. **事件处理系统**:框架提供了触摸、键盘和多点触控事件的处理机制,方便开发者与用户进行交互。 5. **资源管理**:Cocos2d-x 包含了图片、音频、字体等资源的加载和管理功能,简化了资源的生命周期管理。 6. *...

    使用cocos2d-x-2.0-2.0.4开发的简单跨平台益智类魔塔小游戏

    - **事件处理**:cocos2d-x的事件系统使得游戏中的用户交互变得简单,例如触摸事件、键盘事件等。 - **场景管理**:使用Scene和Layer进行场景管理,方便地切换游戏的各个部分。 2. **益智类游戏设计**: - **...

    cocos2d-x入门讲解

    Cocos2d-x的事件系统允许开发者响应用户输入、触摸、键盘等事件,实现游戏的交互功能。 九、资源管理 Cocos2d-x内置了资源加载和管理机制,支持图片、音频、字体等多种资源类型,能有效优化资源的加载和使用。 十...

    cocos2d-x教程

    cocos2d-x支持触摸、键盘、摇杆等多种输入设备的事件处理。开发者可以注册事件监听器,响应用户的交互操作,实现游戏逻辑。 七、物理引擎 集成Box2D物理引擎,cocos2d-x可以方便地实现物体碰撞检测和物理运动模拟,...

    Cocos2d-js项目教程.pdf文件

    5. 事件处理:Cocos2d-js提供了事件监听机制,可以对用户的触摸、键盘输入等进行响应。 6. 物理引擎:通过Box2D物理引擎,可以实现游戏中的碰撞检测、重力效果等物理行为。 7. 脚本系统:Cocos2d-js使用JavaScript...

    Cocos2d-X游戏【泰然网《跑酷》】JS到C++移植

    在游戏开发领域,Cocos2d-X是一款广泛使用的开源跨平台2D游戏引擎,它支持JavaScript、C++以及Lua等多种编程语言。本话题主要聚焦于将使用JavaScript编写的游戏,特别是泰然网的《跑酷》游戏,移植到C++语言的过程。...

Global site tag (gtag.js) - Google Analytics