Cocos2d-JS中的键盘事件与触摸事件不一样,它没有空间方面信息。键盘事件不只能够响应键盘,还能够响应设备的菜单。
键盘事件是EventKeyboard,对应的键盘事件监听器(cc.EventListener.KEYBOARD),键盘事件响应属性:
onKeyPressed。当键按下时回调该属性所指定函数。
onKeyReleased。当键抬起时回调该属性所指定函数。
使用键盘事件处理的代码片断以下:
html
[html] view plaincopy微信
onEnter: function () { 函数
this._super(); 工具
cc.log("HelloWorld onEnter"); 测试
cc.eventManager.addListener({ ① 网站
event: cc.EventListener.KEYBOARD, ② this
onKeyPressed: function(keyCode, event){ ③ spa
cc.log("Key with keycode " + keyCode + " pressed"); .net
}, code
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工具进行测试,输出的结果以下:
[html] view plaincopy
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
智捷课堂现推出Cocos会员,敬请关注:http://v.51work6.com/courseInfoRedirect.do?action=netDetialInfo&courseId=844465&categoryId=0
《Cocos2d-x实战 JS卷》现已上线,各大商店均已开售:
京东:http://item.jd.com/11659698.html
欢迎关注智捷iOS课堂微信公共平台,了解最新技术文章、图书、教程信息