2

我需要在我的 UI 上方添加一个半透明的引导层,详细信息如下:

  1. 该层有一个(或多个)区域(我建议用户单击),它是完全透明的,并将触摸传递到下面的 UI。
  2. 同时,该层的其余部分是半透明的,会吞下触摸。

我使用一个LayerColorclipped byClippingNode来实现引导层,我有一个EventListenerTouchOneByOne( setSwallowTouches(true)) 来检测触摸,然后,在

bool touchBegan(cocos2d::Touch *touch, cocos2d::Event *event) {
    // return (whether touch point belongs to translucent area).
}

那么有没有办法判断一个点是否属于裁剪区域呢?谢谢。

ps 由于剪裁区域的形状不规则,因此通过检查boundingBox模板是否包含触摸点的方式可能无法接受。

pps 我已经尝试过LayerColor以下方法的像素值判断方法,例如在 CCSprite 中获取像素的 RGBA 值,但未能获得值,有人说这些方法不再适用于cocos2d-x 3.xLayerColor另外,我想知道裁剪后的像素值真的会改变吗?

再次感谢 :D

4

0 回答 0