Cocos Creator踩坑日记(一)

  • 自定义事件和系统自带事件

Node类的on方法定义的事件只能通过emit方法手动触发

// node.on只能通过手动触发事件
/*
    1: 事件名
    2: 触发事件调用的方法
    3: 方法体内this的指向
    4: 是否支持事件冒泡
*/
this.node.on('keydown', (evt: cc.Event.EventCustom) => {
    // evt.detail获取传递过来的数据
    console.log(`name=${evt.detail.name} : age=${evt.detail.age}`)
}, this, false)
// 触发keydown事件,并传递数据
this.node.emit('keydown', {name: '张三', age: '18'})
复制代码

回掉函数参数类型: cc.Event


cc.systemEvent.on监听的事件是系统定义好的,通过获取用户输入来触发事件

cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, (evt: cc.Event.EventCustom) => {
    // 获取按键code
    switch (evt.keyCode) {
        case cc.KEY.w:
        // 改变当前节点Sprite的贴图
        this.getComponent(cc.Sprite).spriteFrame = this.self_img[0]
        if (this.isMove) {
            this.isMove = false
            // 取消重复执行方法
            this.unschedule(this.moveTop)
        }
        break
    }
})        
复制代码

  • 系统自带的鼠标操作相关事件
    回掉函数参数类型: cc.Event.EventMouse

  • 触摸事件类型和事件对象
    回掉函数参数类型: cc.Event.EventTouch

  • 玩家输入事件

cc.SystemEvent.EventType.KEY_DOWN (键盘按下)
cc.SystemEvent.EventType.KEY_UP (键盘释放)
cc.SystemEvent.EventType.DEVICEMOTION (设备重力传感)

事件类型: cc.Event.EventCustom

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值