前几天有个朋友问我之前我的项目中新手引导是怎么做成的触摸很准确,而之前开发这个功能时候我是突发奇想,不知有没有人也是使用了这个思路。由于本人目前已经不接触cocos开发,便只简单叙述一下思路。
首先设计一个覆盖层,新手引导的框框全部显示在这一层上,也就是按钮区域会有高亮效果,并且高亮处的触摸会直接穿透该层,从而触发下面层的按钮事件,使得引导得以进行,说到这里,应该很容易理解,但是问题来了,由于穿透区域与按钮的边界缝隙问题,使得可能会出现bug,bug的体现一般为下面的按钮响应了引导层事件没有响应,引导层事件响应了,按钮事件没响应。出现这样的情况一般是点到了高亮区域的边界,很细微的地方,很难避免。然而c++的指针是一个很神奇的所在,解引用之后可以直接修改内存值,于是可以做这样的逻辑,当触摸范围在一定范围内,可以强制将触摸点左边强制设为按钮的中心坐标,如此就不会出现上述情况