zoukankan      html  css  js  c++  java
  • cocos遮罩层点击穿透问题解决

    问题

    在场景中添加弹窗等遮罩层,当点击遮罩层时会出现点击穿透问题。

    解决

    将遮罩层节点放到数组中,方便管理,在start函数中调用preventMask方法,以免cc.find无法查找到遮罩层节点。

    onLoad() {
      this.masks = [ 'Canvas/awardMask', 'Canvas/tipsMask', 'Canvas/ruleMask'];
    },
    start() {
      this.preventMask(); //阻止弹窗mask点击穿透
    },
    preventMask() {
      this.masks.forEach((item) => {
        cc.find(item).on(cc.Node.EventType.TOUCH_START, (e) => {
          e.stopPropagation();
        })
        cc.find(item).on(cc.Node.EventType.TOUCH_MOVE, (e) => {
          e.stopPropagation();
        })
      })
    },
    

    注意

    如果发现添加了以上代码,仍不能阻止点击穿透是因为父元素宽高度不足以覆盖,建议检查节点父元素宽高度是否为0,将其调整为屏幕宽高即可。

  • 相关阅读:
    学习进度02
    dataX windows10安装
    架构漫谈 阅读笔记03
    质量属性及战术
    架构漫谈 阅读笔记02
    2020.12.12收获
    2020.12.11收获
    2020.12.10收获
    2020.12.9收获
    2020.12.8收获
  • 原文地址:https://www.cnblogs.com/ZerlinM/p/14555541.html
Copyright © 2011-2022 走看看