Cocos Creator的生命周期和支持的系统事件

本文详细介绍了CocosCreator中组件的生命周期方法,包括onLoad、start、update、onEnable、onDisable和onDestroy,并讲解了四种主要的系统事件:鼠标、触摸、键盘和重力传感。对于鼠标事件,如MOUSE_DOWN、MOUSE_ENTER等,以及触摸事件如TOUCH_START、TOUCH_END等,展示了如何监听和取消监听。此外,还阐述了键盘事件的KEY_DOWN和KEY_UP,以及如何开启和监听重力传感事件DEVICEMOTION。通过这些事件,开发者可以实现丰富的用户交互功能。
一、生命周期

onLoad() 组件初始化时执行
start() 第一次激活前执行
update() 每帧执行
onEnable() 组件启用时调用
onDisable() 组件禁用时调用
onDestroy 组件销毁时调用

二、支持的系统事件

Cocos Creator接收的系统事件有四种鼠标、触摸、键盘、重力传感。
鼠标事件和触摸事件,这些时间是被直接触发在相关节点上的,所以统称为节点系统事件;键盘和重力事件被称为全局系统事件。

1、鼠标事件类型:
cc.Node.EventType.MOUSE_DOWN:当鼠标在目标节点区域按下时触发一次
事件名:‘mousedown’
cc.Node.EventType.MOUSE_ENTER:当鼠标在目标节点区域按下时触发一次
事件名:‘mousemove’
cc.Node.EventType.MOUSE_LEAVE:当鼠标在目标节点区域按下时触发一次
事件名:‘mouseleave’
cc.Node.EventType.MOUSE_UP:当鼠标在目标节点区域按下时触发一次
事件名:‘mouseup’
cc.Node.EventType.MOUSE_WHEEL:当鼠标在目标节点区域按下时触发一次
事件名:‘mousewheel’

// 监听点击事件 onLoad里面
this.node.on("mousedown", this.onMouseDown, this)
// 取消监听 onDestroy里面
this.node.off("mousedown", this.onMouseDown, this)

2、触摸事件:
cc.Node.EventType.TOUCH_START:当手指触点露在目标节点区域时触发
事件名:‘touchstart’
cc.Node.EventType.TOUCH_MOVE:当手指在屏幕上目标点区域内移动时触发
事件名:‘touchmove’
cc.Node.EventType.TOUCH_END:当手指在目标节点区域内离开屏幕时触发
事件名:‘touchend’
cc.Node.EventType.TOUCH_CANCEL:当手指在目标节点区域外离开屏幕时触发
事件名:‘touchcancel’

// 监听触摸事件 onLoad里面
this.node.on('touchstart',this.onEventStart,this)
// 取消监听 onDestroy里面
this.node.off('touchstart',this.onEventStart,this)

3、键盘事件:
cc.SystemEvent.EventType.KEY_DOWN(键盘按下,一直触发)
cc.SystemEvent.EventType.KEY_UP(键盘释放,触发一次)

//监听键盘事件 onLoad里面
cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.keyDownForMove, this)
// 取消监听 onDestroy里面
cc.systemEvent.off(cc.SystemEvent.EventType.KEY_DOWN, this.keyDownForMove, this)

4、重力传感事件:
cc.SystemEvent.EventType.DEVICEMOTION(设备重力传感)

// 开启重力传感 然后监听重力传感事件 onLoad里面
cc.systemEvent.setAccelerometerEnabled(true)
cc.systemEvent.on(cc.SystemEvent.EventType.DEVICEMOTION, this.onDeviceMotionEvent, this)
// 取消监听重力传感事件 onDestroy里面
cc.systemEvent.off(cc.SystemEvent.EventType.DEVICEMOTION, this.onDeviceMotionEvent, this)

学习记录一下,如有错误和不足欢迎各位大哥指正!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值