cocos2d 场景切换后的动画不播放

求助:

情况是这样,程序中有两个scene:SceneA和SceneB

SceneA有一个按钮可以replaceScene 到SceneB

SceneB有一个按钮可以replaceScene 到SceneA,SceneB中还有一些动画以及scheduleUpdate事件,而且SceneB被一个单例对象保存起来


当SceneA replace到SceneB没有问题

切换完毕后,会将SceneB保存到单例中


SceneB切到SceneA也没有问题


但是当SceneA再次切换到单例中的SceneB中的时候,所有的动画,以及scheduleUpdate事件就都不执行了


怎么才能让这些动画以及update事件再次执行呢?

你的场景为什么要用单例存起来呢? 这样话,第一次创建后,这个SceneB就不再创建了,并且会永远保留它的状态。


如果你还是要坚持这样的话,你可以让SceneB的 onEnter方法调用你的scheduleUpdate 或者其它。

这样确实管用,但是我还是不太明白,因为cocos2d面的的onEnter函数,自己会执行;
从字面上理解,应该会自动恢复update以及action,但是为什么不起作用呢?

很简单当你replace到别的scene的时候,里面全部会停止,而你的sceneB是单例,所以重新回来的时候是原来的状态,不会调用初始化方法,只会触发onEnter方法。