复制代码
- // 创建一个事件监听器 OneByOne 为单点触摸
- var listener1 = cc.EventListener.create({
- event: cc.EventListener.TOUCH_ONE_BY_ONE,
- swallowTouches: true, // 设置是否吞没事件,在 onTouchBegan 方法返回 true 时吞没
- onTouchBegan: function (touch, event) { //实现 onTouchBegan 事件回调函数
- var target = event.getCurrentTarget(); // 获取事件所绑定的 target
- // 获取当前点击点所在相对按钮的位置坐标
- var locationInNode = target.convertToNodeSpace(touch.getLocation());
- var s = target.getContentSize();
- var rect = cc.rect(0, 0, s.width, s.height);
- if (cc.rectContainsPoint(rect, locationInNode)) { // 点击范围判断检测
- cc.log("sprite began... x = " + locationInNode.x + ", y = " + locationInNode.y);
- target.opacity = 180;
- return true;
- }
- return false;
- },
- onTouchMoved: function (touch, event) { // 触摸移动时触发
- // 移动当前按钮精灵的坐标位置
- var target = event.getCurrentTarget();
- var delta = touch.getDelta();
- target.x += delta.x;
- target.y += delta.y;
- },
- onTouchEnded: function (touch, event) { // 点击事件结束处理
- var target = event.getCurrentTarget();
- cc.log("sprite onTouchesEnded.. ");
- target.setOpacity(255);
- if (target == sprite2) { // 重新设置 ZOrder,显示的前后顺序将会改变
- sprite1.setLocalZOrder(100);
- } else if (target == sprite1) {
- sprite1.setLocalZOrder(0);
- }
- }
- });
|