开发者社区> 关东升> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Cocos2d-JS键盘事件

简介: <span style="font-size:14px;">Cocos2d-JS中的键盘事件与触摸事件不同,它没有空间方面信息。键盘事件不仅可以响应键盘,还可以响应设备的菜单。<br>键盘事件是EventKeyboard,对应的键盘事件监听器(cc.EventListener.KEYBOARD),键盘事件响应属性:<br>onKeyPressed。当键按下时回调该属性所指定函数。<br>onK
+关注继续查看
Cocos2d-JS中的键盘事件与触摸事件不同,它没有空间方面信息。键盘事件不仅可以响应键盘,还可以响应设备的菜单。
键盘事件是EventKeyboard,对应的键盘事件监听器(cc.EventListener.KEYBOARD),键盘事件响应属性:
onKeyPressed。当键按下时回调该属性所指定函数。
onKeyReleased。当键抬起时回调该属性所指定函数。
使用键盘事件处理的代码片段如下:
onEnter: function () {
    	this._super();
    	cc.log("HelloWorld onEnter");
    
    	cc.eventManager.addListener({	①
    	event: cc.EventListener.KEYBOARD, 	②
    	onKeyPressed:  function(keyCode, event){ 	③
    	cc.log("Key with keycode " + keyCode + " pressed");
    	},
    	onKeyReleased: function(keyCode, event){ 	④
    	cc.log("Key with keycode " + keyCode + " released");
    	}
    	}, this);
    },
    onExit: function () {
    	this._super();
    	cc.log("HelloWorld onExit");
    	cc.eventManager.removeListeners(cc.EventListener.KEYBOARD);	⑤
    }
上述代码第①行cc.eventManager.addListener是通过快捷方式注册事件监听器对象。第②行代码是设置键盘事件cc.EventListener.KEYBOARD。第③行代码是设置键盘按下属性onKeyPressed,其中的参数keyCode是按下的键编号。第④行代码是设置键盘抬起属性onKeyReleased。
上述onExit()函数是退出层时候回调,我们在代码第⑤行注销所有键盘事件的监听。
我们可以使用Cocos Code IDE和WebStorm工具进行测试,输出的结果如下:
JS: Key with keycode 124 released
JS: Key with keycode 124 pressed
JS: Key with keycode 139 pressed
JS: Key with keycode 139 released
JS: Key with keycode 124 released
JS: Key with keycode 139 pressed
JS: Key with keycode 124 pressed
JS: Key with keycode 139 released
JS: Key with keycode 124 released
JS: Key with keycode 139 pressed
JS: Key with keycode 124 pressed
JS: Key with keycode 139 released
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加速度计与加速度事件
<span style="font-size:14px;">在很多移动设备的游戏使用到了加速度计,Cocos2d-JS引擎提供了访问加速度计传感器的能力。本节我们首先介绍一下加速度计传感器,然后再介绍如何在Cocos2d-JS中访问加速度计。<br>加速度计<br>加速度计是一种能够感应设备一个方向上线性加速度的传感器。广泛用于航空、航海、宇航及武器的制导与控制中。线加速度计的种类很多,在iO
1495 0
cocos2d::Map
v3.0 beta加入 定义在"COCOS2DX_ROOT/cocos/base"的"CCMap.h"头文件中。 template class CC_DLL Map; cocos2d::Map是使用std::unordered_map作为底层结构的关联式容器。
671 0
cocos2d-x一些核心概念介绍
<h2></h2> <h2></h2> <p></p> <div><p><span style="font-size:18px; font-weight:normal">Cocos2d-x中有很多概念,这些概念很多来源于动画、动漫和电影等行业,例如:导演、场景和层等概念,当然也有些有传统的游戏的概念。Cocos2d-x中核心概念:</span><span style="font-size:18
1327 0
cocos2d-x坐标系
项目中有个需求“刮刮卡”,在手指触摸屏幕时,需要动态检查当前触摸的点是否“碰”到某个卡了,如果碰到了就把它显示出来。这里就需要了解一下IOS的坐标系统与OpenGL的坐标系统了   常见的三种坐标系:   UI坐标系,起点(0, 0),位于屏幕左上角, 也称屏幕坐标系,如下图所示  ...
895 0
iphone-Cocos2D游戏开发
(1)精灵 指任何可以在屏幕上独立于其他东西而自由移动二维位图图像; (2)精灵表 包含一个以上精灵的图像就叫精灵表。精灵表是一个图像中包含一系列以网格形式存在的精灵图像。,对每个精灵都可以通过他在大图像中的行和列位置进行访问。
545 0
+关注
关东升
国内著名iOS/Cocos技术作家,iOS技术顾问,Cocos最有价值专家(CVP),智捷课堂首席培训专家。担任51CTO社区iOS技术顾问。 著有多部移动开发畅销书。
316
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载