Cocos Creator 监听和发射事件(摘自官方文档)
监听和发射事件监听事件 事件处理是在节点( cc.Class({
extends: cc.Component,properties: {
},onLoad: function () {
this.node.on('mousedown',function ( event ) {
console.log('Hello!');
});
},});
值得一提的是,事件监听函数 // 使用函数绑定
this.node.on(function ( event ) {
this.enabled = false;
}.bind(this));
// 使用第三个参数
this.node.on(function (event) {
this.enabled = false;
},this);
除了使用 关闭监听 当我们不再关心某个事件时,我们可以使用 我们推荐的书写方法如下: function () {
'Hello World');
},onEnable: function () {
this.node.on('foobar',this._sayHello,this);
},onDisable: function () {
this.node.off( 发射事件
派送事件 上文提到了
如上图所示,当我们从节点 c 发送事件 “foobar”,倘若节点 a,b 均做了 “foobar” 事件的监听,则 事件会经由 c 依次传递给 b,a 节点。如: // 节点 c 的组件脚本中
this.node.dispatchEvent( new cc.Event.EventCustom(true) );
如果我们希望在 b 节点截获事件后就不再将事件传递,我们可以通过调用 // 节点 b 的组件脚本中
this.node.on(function (event) {
event.stopPropagation();
});
请注意,在发送用户自定义事件的时候,请不要直接创建 事件对象 在事件监听回调中,开发者会接收到一个
完整的 API 列表可以参考 系统内置事件 以上是通用的事件监听和发射规则,在 Cocos Creator 中为 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |