cocos2d第二次打开后无响应的场景

Posted

技术标签:

【中文标题】cocos2d第二次打开后无响应的场景【英文标题】:cocos2d unresponsive scene after opening for the second time 【发布时间】:2013-07-31 23:08:18 【问题描述】:

我在我的 cocos2d 项目中的菜单场景和首选项场景之间来回切换时遇到问题。我从菜单开始,当用户单击一个按钮时,它会将他们带到首选项场景。

[[CCDirector sharedDirector] pushScene:[CCTransitionSlideInR transitionWithDuration:.3 scene:prefScene]];

首选项场景有一个后退按钮,可将用户带回菜单。

[[CCDirector sharedDirector] popScene];

除非用户退出首选项场景然后尝试返回该场景,否则这会正常工作。第二次打开首选项场景时,所有按钮在被触摸时都会显示动画,但在其他情况下无响应。

感谢您的帮助!

【问题讨论】:

您是否实现了 onEnter 或其他 on* 方法?如果是这样,请确保调用超级实现 不,我没有重写任何这些方法。 【参考方案1】:

我也遇到过类似的情况,找到了两种解决方案:

Quick and Dirty 是根据需要创建首选项场景实例(延迟加载),这将减少保留它的内存,除非您需要它,但您每次都必须初始化它,但是它每次都应该是新的干净副本,如果用户每次都不点击偏好设置,加载整个游戏的速度可能会更快。

确保首选项场景在消失之前自行清理,这尤其意味着停止所有计划选择器或间隔计时器并移除委托和触摸事件。

【讨论】:

以上是关于cocos2d第二次打开后无响应的场景的主要内容,如果未能解决你的问题,请参考以下文章