Cocos2d-JS键盘事件

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

智捷课堂现推出Cocos会员,敬请关注:http://v.51work6.com/courseInfoRedirect.do?action=netDetialInfo&courseId=844465&categoryId=0

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

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

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

时间: 2024-09-17 04:53:12

Cocos2d-JS键盘事件的相关文章

浅谈js键盘事件全面控制_javascript技巧

主要分四个部分 第一部分:浏览器的按键事件 第二部分:兼容浏览器 第三部分:代码实现和优化 第四部分:总结 第一部分:浏览器的按键事件 用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown. onkeypress和onkeyup这三个事件句柄.一个典型的按键会产生所有这三种事件,依次是keydown,keypress,然后是按键释放时候的keyup. 在这3种事件类型中,keydown和keyup比较底层,而keypr

js键盘事件的keyCode_javascript技巧

document.onkeyup = function(event){ var event = event || window.event; alert(event.keyCode); } 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索keycode 键盘事件 js键盘事件 keycode.键盘事件 keycode.javascript 键盘事件.javascript的键盘事件.javascript keycode,以便

js键盘事件,判断按下的是哪个键

在写页面的时候,尤其是桌面端的时候,我们有时候要知道用户按下了那个按键,对于这个问题我们可以使用js提供的keyCode属性来操作,如: document.onkeydown = function (e) {     alert(e.keyCode) } 这时你在页面上随意按键盘的按键,就会弹出一个弹窗,里面的数字对应你按下的按键的keyCode,这个keyCode是固定的,所以我们可以用它的值来判断,继而进行一些操作. document.onkeydown = function (e) {  

js键盘事件代码

方便客户端键盘事件处理,特从网上搜集如下,方便自己和大家以后查阅. event.keycode大全(javascript) keycode 8 = BackSpace BackSpace keycode 9 = Tab Tab keycode 12 = Clear keycode 13 = Enter keycode 16 = Shift_L keycode 17 = Control_L keycode 18 = Alt_L keycode 19 = Pause keycode 20 = Cap

js-JS键盘事件监听之禁用键盘按键

问题描述 JS键盘事件监听之禁用键盘按键 我的页面内有一个输入框,我想要实现的功能是:按下字符键时正常输入字符,但是按下键盘上的上下方向键时什么也不做,但是现在我按下上方向键时光标总会跳到内容的最前面,按下下方向键时光标会跳到内容的最后面,请问怎么禁用这两个键盘的功能啊? 解决方案 chrome会这样,汗,按上下键返回false就行 <input type=""text"" onkeydown=""if(event.keyCode==38|

js键盘上下左右(方向键)事件 和 正则表达式怎么使用,我想把输入的011变成11

问题描述 js键盘上下左右(方向键)事件 和 正则表达式怎么使用,我想把输入的011变成11 在单元格中按上下左右快捷键移动, 正则表达式怎么使用,我想把输入的011变成11,求大神们帮忙解决一下 解决方案 js键盘上下左右(方向键)事件

js中键盘事件实例简析_javascript技巧

本文实例分析了js中键盘事件.分享给大家供大家参考.具体分析如下: 该实例效果: 按键盘上的任意一个键,弹出相应的ASCII码,兼容ie,chrome和firefox. 但还是有不少问题: (1)ie和chrome中,一些键没有效果,如上.下.左.右等: (2)而firefox中的向右键,与单引号键,都为39. 具体代码如下: 复制代码 代码如下: <html> <head> <script type="text/javascript">  wind

js鼠标按键事件和键盘按键事件用法实例汇总_javascript技巧

本文实例讲述了js鼠标按键事件和键盘按键事件用法.分享给大家供大家参考,具体如下: keydown,keyup,keypress:属于你的键盘按键 mousedown,mouseup:属于你的鼠标按键 当按钮被按下时,发生 keydown 事件, keyup是在用户将按键抬起的时候才会触发的, 完整的 key press 过程分为两个部分:1. 按键被按下:2. 按键被松开. 当用户在这个元素上按下鼠标键的时候,发生mousedown 当用户在这个元素上松开鼠标键的时候,发生mouseup 例子

js中获取键盘事件的简单实现方法_javascript技巧

<script type="text/javascript" language=JavaScript charset="UTF-8"> document.onkeydown=function(event){ var e = event || window.event || arguments.callee.caller.arguments[0]; if(e && e.keyCode==27){ // 按 Esc //要做的事情 } if(

js捕捉键盘事件和按键键值的方法_javascript技巧

如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Co