cocosjs 可不可以将一个事件添加给多个节点

2024-12-04 16:41:39
推荐回答(1个)
回答(1):

在使用时,首先创建一个事件监听器,事件监听器包含以下几种:

触摸事件 (cc.EventListenerTouch)
键盘响应事件 (cc.EventListenerKeyboard)
加速记录事件 (cc.EventListenerAcceleration)
鼠标响应事件 (cc.EventListenerMouse)
自定义事件 (cc.EventListenerCustom)
以上事件监听器统一由 cc.eventManager 来进行管理, 它是一个单例对象。它的工作需要三部分组成:

事件管理器 cc.eventManager
事件类型 cc.EventTouch, cc.EventKeyboard 等
事件监听器 cc.EventListenerTouch, cc.EventListenerKeyboard 等
监听器实现了各种触发后的逻辑,在适当时候由 事件管理器分发事件类型,然后调用相应类型的监听器。

使用方法
现在将要实现在一个界面中添加三个按钮,三个按钮将会互相遮挡,并且能够触发触摸事件,以下是具体实现

首先创建三个精灵,作为三个按钮的显示图片

var sprite1 = cc.Sprite.create("Images/CyanSquare.png");
sprite1.x = size.width/2 - 80;
sprite1.y = size.height/2 + 80;
this.addChild(sprite1, 10);

var sprite2 = cc.Sprite.create("Images/MagentaSquare.png");
sprite2.x = size.width/2;
sprite2.y = size.height/2;
this.addChild(sprite2, 20);

var sprite3 = cc.Sprite.create("Images/YellowSquare.png");
sprite3.x = 0;
sprite3.y = 0;
sprite2.addChild(sprite3, 1);