输入事件

    xiaoxiao2025-10-13  2

    定义:

    1. cc.EventListener.MOUSE (鼠标)

    2. cc.EventListener.KEYBOARD (键盘)

    3. cc.EventListener.TOUCH_ONE_BY_ONE (单点触摸)

    4. cc.EventListener.TOUCH_ALL_AT_ONCE (多点触摸)

    鼠标事件

    事件监听器类型:cc.EventListener.MOUSE 事件触发后的回调函数: 鼠标按下:onMouseDown(event);鼠标释放:onMouseUp(evnet);鼠标移动:onMouseMove(evnet);鼠标滚轮:onMouseScroll(evnet); // 添加鼠标事件监听器

    var listener = {

                event: cc.EventListener.MOUSE,             onMouseDown: function (event) {                 cc.log('Mouse Down: ' + event);             },             onMouseUp: function (event) {                 cc.log('Mouse Up: ' + event);             },             onMouseMove: function (event) {                 cc.log(event.parent.convertToNodeSpaceAR(event.getLocation()))                 cc.log('Mouse Move: ' + event);             },             onMouseScroll: function (event) {                 cc.log('Mouse Scroll: ' + event);             },         };         // 绑定鼠标事件

            cc.eventManager.addListener(listener, this.node);

    键盘事件

    事件监听器类型:cc.EventListener.KEYBOARD事件触发后的回调函数: 键盘按下:onKeyPressed(keyCode, event);键盘释放:onKeyReleased(keyCode, evnet); 回调参数: KeyCode: API 传送门Event:API 传送门 // 添加键盘事件监听器 var listener = { event: cc.EventListener.KEYBOARD, onKeyPressed: function (keyCode, event) { cc.log('keyDown: ' + keyCode); }, onKeyReleased: function (keyCode, event) { cc.log('keyUp: ' + keyCode); } } // 绑定键盘事件 cc.eventManager.addListener(listener, this.node);

    单点触摸事件

    事件监听器类型:cc.EventListener.TOUCH_ONE_BY_ONE事件触发后的回调函数: 触摸开始:onTouchBegan(touches, event);触摸移动时:onTouchMoved(touches, event);触摸结束时:onTouchEnded(touches, event);取消触摸:onTouchCancelled(touches, event); 回调参数: Touches: 触摸点的列表,单个Touch API 传送门Event:API 传送门

    注意:onTouchBegan 回调事件里要 return true, 这样后续的 onTouchEnded 和 onTouchMoved 才会触发事件。

    // 添加单点触摸事件监听器 var listener = { event: cc.EventListener.TOUCH_ONE_BY_ONE, onTouchBegan: function (touches, event) { cc.log('Touch Began: ' + event); return true; //这里必须要写 return true }, onTouchMoved: function (touches, event) { cc.log('Touch Moved: ' + event); }, onTouchEnded: function (touches, event) { cc.log('Touch Ended: ' + event); } onTouchCancelled: function (touches, event) { cc.log('Touch Cancelled: ' + event); } } // 绑定单点触摸事件 cc.eventManager.addListener(listener, this.node);

    多点触摸事件

    事件监听器类型:cc.EventListener.TOUCH_ALL_AT_ONCE事件触发后的回调函数: 触摸开始:onTouchesBegan(touches, event);触摸移动时:onTouchesMoved(touches, event);触摸结束时:onTouchesEnded(touches, event);取消触摸:onTouchesCancelled(touches, event); 回调参数: Touches: 触摸点的列表,单个Touch API 传送门Event:API 传送门

    同理:onTouchesBegan 回调事件里也要 return true, 这样后续的 onTouchesEnded 和 onTouchesMoved 才会触发事件。

    // 添加多点触摸事件监听器 var listener = { event: cc.EventListener.TOUCH_ALL_AT_ONCE, onTouchesBegan: function (touches, event) { // touches 触摸点的列表 cc.log('Touch Began: ' + event); return true; //这里必须要写 return true }, onTouchesMoved: function (touches, event) { cc.log('Touch Moved: ' + event); }, onTouchesEnded: function (touches, event) { cc.log('Touch Ended: ' + event); } onTouchesCancelled: function (touches, event) { cc.log('Touch Cancelled: ' + event); } } // 绑定多点触摸事件 cc.eventManager.addListener(listener, this.node);
    转载请注明原文地址: https://ju.6miu.com/read-1303113.html
    最新回复(0)