分享一个用mask做新手引导的思路

最近在做新手引导,参考了大佬们的思路,觉得mask最适合自己,就找了一些关于mask的帖子,其中uikiller-master的效果最接近我想要的,但是大佬的代码对于我来讲有点深奥,没看懂,就自己想了个法子来做新手引导,demo看附件。


1.clipNode主要是新手引导的UI显示
2.mask1为透明全屏层,用来监听点击事件
具体逻辑是在mask1添加一个blockinput,当touchstart时检测到点击范围在clipNode内时,将blockinput设为unable,并移除mask1上的监听事件,这样就可以点到下面的按钮。

TestGuide.rar (486.1 KB)

4赞

点击到范围内然后在移动到范围外抬起,怎么破?

cc.Node.EventType.TOUCH_CANCEL 这样?

这个不太行吧。需要点击两次才可以。第一次是监听不到的。

需要俩次点击才可以,而且有bug第一次点击目标按钮位置会取消mask事件拦截,第二次就随便点别的按钮也可以了
第一次点击的时候把把事件直接传递给目标按钮能实现就没问题了

有帮助!多谢楼主!