在游戏中,我们经常会碰到一些弹窗,这些弹窗禁止点透,也就是禁止触摸事件传递到底层,我们称之为遮挡层,这些遮挡层,需要开发遮挡层,我们首先得了解cocos2d-js的触摸传递机制,本文主要针对cocos2d-js v3.0 final版本。

根据官方文档,我们可以得知,触摸方式有五种,但是根据需求,我们需要做的是拦截触摸监听。

所以我们简单封装了这么一个类,如下所示:

cc.ModelLayerColor = cc.LayerColor.extend({
m_touchListener:null,
ctor:function(){
this._super();
var touchListener = {
event: cc.EventListener.TOUCH_ONE_BY_ONE,
swallowTouches: true,
onTouchBegan: this.onTouchBegan
};
cc.eventManager.addListener(touchListener, this);
this.m_touchListener = touchListener;
},
onTouchBegan:function(touch, event) {
var target = event.getCurrentTarget();
if(!target.isVisible() || (!this.isTouchInside(target,touch))){
return false;
}
return true;
},
isTouchInside: function (owner,touch) {
if(!owner || !owner.getParent()){
return false;
}
var touchLocation = touch.getLocation(); // Get the touch position
touchLocation = owner.getParent().convertToNodeSpace(touchLocation);
return cc.rectContainsPoint(owner.getBoundingBox(), touchLocation);
}
});
这里要把swallowTouches设置为true,这样onTouchBegan返回true才能够吞噬触摸,不继续往优先级更低的层传递,从而实现遮挡层。

最新文章

  1. Spark 官方文档(2)——集群模式
  2. CREATE TABLE 表名 AS SELECT 语句
  3. iframe使用方法
  4. 简单C程序生成的汇编代码分析
  5. PHP四种基础算法详解
  6. 夺命雷公狗---Thinkphp----12之文章的增删改查(图片上传和关联查询)
  7. Airbnb面试的27个奇葩问题,你 hold 住吗?
  8. 0bjective-c 之 NSString 使用详解
  9. [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍
  10. Working XML: Processing instructions and parameters
  11. The Child and Toy
  12. 转: 理解AngularJS中的依赖注入
  13. ThinkPhp学习01
  14. Ubuntu16.04安装之后连不上无线网?有可能是Realtek rtl8822be的原因
  15. Hexo主题yilia增加gitalk评论插件
  16. ffmpeg 在ubuntu上编译环境搭建和开发
  17. Nginx + Tomcat搭建集群
  18. 17. Letter Combinations of a Phone Number (backtracking)
  19. 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用
  20. Maven 仓库之阿里云镜像配置

热门文章

  1. HDU1114 背包
  2. MongoDB入门(4)- MongoDB日常操作
  3. Maven命令创建java项目
  4. 【Foreign】光 [莫比乌斯反演]
  5. Codeforces 321E Ciel and Gondolas
  6. 【BZOJ】1609: [Usaco2008 Feb]Eating Together麻烦的聚餐
  7. 超详细的Java面试题总结(一)之Java基础知识篇
  8. H5特性 MutationObserver 监听元素 动态改变iframe高度
  9. TCP的3次握手/4次握手
  10. 数据库===轻量级mysql数据库管理工具