游戏中需要音乐和动画完全同步,只需要大概的建议

我在做一个音乐的app,就是根据音乐的节奏点,屏幕上按照时间出现一些动画,要求玩家去击打屏幕,基本上运行没有太大的问题。

但是,偶然会出现动画有点卡的情况,然后就导致所有的动画序列都有了时间位移,但是音乐的时间没有变,这样就造成了音乐和动画的不同步,虽然出现的不是很多,但是我觉得一旦出现就很致命,想了很久,不知道怎么解决比较好

音乐我用的是 CocosDenshion::SimpleAudioEngine::getInstance()->playBackgroundMusic(“music1.mp3”);

动画我也用的是最基本的一个sequence

for (int i = 0; i < totalNumberOfAnimation; i ++)
{
float wait = arrayOfTime;
this->runAction(Sequence::create(
DelayTime::create(wait),
CallFunc::create(CC_CALLBACK_0(HelloWorld::createSpriteTap, this, i)),
DelayTime::create(10),
CallFunc::create(CC_CALLBACK_0(HelloWorld::cleanSpriteTap, this)),
NULL));

我在我ios6 的手机上和安卓的手机上测试,貌似都没有出现这个现象,iOS 8的手机(iphone5)和ipad 2上都有,是iOS 8才有的问题么?是需要一些线程方面的处理么?

这个一般这样处理:专门开一个子线程来播放游戏中的音效文件,战报中的音效播放比较常见。

这样能避免太多音效不同同时播放的问题吗?