【请教】CCSprite多边形触摸与动画的音像同步问题

本人新手,刚开始接触Cocos2d-x。在实际的工作中遭遇了几个比较棘手的问题,希望各位大大能够分享一下自己的解决方案。
1、在各类教程中所接触的关于触摸的判断中得到的都是对于CCSprite的boundingBox()用CRect::CCRectContainsPoint这样的方式来判断的。但是我有一些疑惑,如果我们的CCSprite本身是多边形的,而需求也明确的指出了触摸的精确性的时候如何处理。就是类似与CCMenuItemSprite那样的效果,由于我需要触摸之后由该CCSprite执行一个效果动画,所以原本的CCMenuItemSprite又无法满足要求。
2、在对于帧动画的应用中,遭遇了需要音像同步的问题。即明确需要某个声音在某一帧播放。我现在才去的策略是将原本的一个帧动画按照有声音的位置拆分,然后按照动画-播放声音-动画这样的方式组合成一个CCSequence。但是实际使用起来可能是由于声音的装载播放速度问题,导致声音与动画的匹配并不是完全一致,而且在不同的设备上貌似还有差异。

对于这2点,相信很多大大们都遇到过类似的问题。不知道能否分享一下你们是如何处理的!

对于第二个问题是否可以先得到帧动画的时长,制作的音效时长跟这个帧动画时长一致。
音效中在需要出声音的位置前后加入空白段。

一.1.有2种方案,你要的是不规则的矩形,想要精确判断,要么使用像素级别来判断是否碰撞也就是是否在这个区域,但是像素级别判断效率比较低。要么就采用普遍的做法,使用多个矩形框来判断,也就是你这不规则的矩形,可以多框选几个框出来判断是否在这个区域2.如果你要用menuItem,也可以,menuItemSprite也可以runAction,
二个问题,没太懂啥意思?是说我有一个帧动画,一直在播放,当播放某个声音的时候,就必须播放那一帧?那就在播放那个声音的时候,设置那一帧应该就可以了吧

一.1.有2种方案,你要的是不规则的矩形,想要精确判断,要么使用像素级别来判断是否碰撞也就是是否在这个区域,但是像素级别判断效率比较低。要么就采用普遍的做法,使用多个矩形框来判断,也就是你这不规则的矩形,可以多框选几个框出来判断是否在这个区域2.如果你要用menuItem,也可以,menuItemSprite也可以runAction,
二个问题,没太懂啥意思?是说我有一个帧动画,一直在播放,当播放某个声音的时候,就必须播放那一帧?那就在播放那个声音的时候,设置那一帧应该就可以了吧