view和panel关于mouseThrough的区别



QQ图片20180425205816.png

像这个的面板左侧是空白的,当对"新手村"做了点击事件的监听后,如果这个组件代码继承的是Panel,那么空白位置不能穿透,如果继承的是view就能穿透,是什么情况???都是有设置
mouseThrough=true的,就改动了继承
extends Laya.View可穿透
extends Laya.Panel不可穿透
 
已邀请:

w1114367261

赞同来自:

因为mouseThrough是针对于父级的,
/**
         * <p>鼠标事件与此对象的碰撞检测是否可穿透。碰撞检测发生在鼠标事件的捕获阶段,此阶段引擎会从stage开始递归检测stage及其子对象,直到找到命中的目标对象或者未命中任何对象。</p>
         * <p>穿透表示鼠标事件发生的位置处于本对象绘图区域内时,才算命中,而与对象宽高和值为Rectangle对象的hitArea属性无关。如果sprite.hitArea值是HitArea对象,表示显式声明了此对象的鼠标事件响应区域,而忽略对象的宽高、mouseThrough属性。</p>
         * <p>影响对象鼠标事件响应区域的属性为:width、height、hitArea,优先级顺序为:hitArea(type:HitArea)>hitArea(type:Rectangle)>width/height。</p>
         * @default false    不可穿透,此对象的鼠标响应区域由width、height、hitArea属性决定。</p>
         */

要回复问题请先

商务合作
商务合作