输入事件

定义:

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);
  • 回调参数:
// 添加键盘事件监听器
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);
  • 回调参数:

注意: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);
  • 回调参数:

同理: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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值