- 本帖最后由 Shawn和月 于 2013-1-4 23:34 编辑 *
CCBAnimationManager::getRunningSequenceName(){
return mRunningSequence->getName();
}
如果没有动画在运行,就会抛出异常,看上去是因为在不播动画时mRunningSequence为NULL,于是就出错了。
补充:似乎错误在于播放了不存在的sequence,可是没有直接提供的方法确定某个名字的sequence是否存在。
现在我只能把getSequenceId里的代码复制出来,在播放某sequence前检查此名字是否存在,还好getSequences()能用。
另外,希望可以让CCBAnimationManager公开暴露更多接口,只为能访问点东西而继承意义不大,何况这个类里除了public就是private。
比如以下方法,可以用来判断指定动作名或id是否存在。
int getSequenceId(const char* pSequenceName);
CCBSequence* getSequence(int nSequenceId);
以及能够访问CCBSequence *mRunningSequence;的方法。
尽管提供这些接口有可能有风险,但这种几率应该很小。