【问题标题】:iPhone - starting cocos2d scene from viewcontroller, closing from within sceneiPhone - 从视图控制器启动 cocos2d 场景,从场景内关闭
【发布时间】:2011-08-17 01:17:25
【问题描述】:

我该怎么做?

在我的一个 UIViews(nib 文件)上,我有 ImageView 和一个启动全屏 Cocos2d 场景的按钮。在该场景中,我想关闭它并返回 UIView,以便用户稍后可以再次打开场景,但可以从 ImageView 中的不同图像(以及场景中的不同内容)。

但是,在我第一次“关闭”场景后,整个应用程序对所有触摸事件的反应都慢了很多。只要场景打开,它就可以快速运行,但关闭时性能会下降。

我应该如何正确关闭场景以便重新启动它?我浏览了很多代码示例,到处都是replaceWithScene:newScene

【问题讨论】:

    标签: iphone cocos2d-iphone scene


    【解决方案1】:

    将 UIView 添加到包含正在运行的 openGL 层的 viewController 会降低应用程序的速度,任何尝试将 UIScrollView 合并到 Cocos2D 游戏中的人都会告诉你。您正在关闭场景,但可能不会停止 CCDirector,它现在在应用程序的调度程序之外运行自己的调度程序。在他们争夺 CPU 的主导权时,OpenGL 总是获胜,因为它需要更多的功率。

    确保您完全关闭 cocos2D 和 OpenGL。即使只调用[[CCDirector sharedDirector] pause]。

    【讨论】:

    • 非常老的问题,但很好的答案。我已经找到了使用 NSNotification 将消息从场景发送到 uiview 的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    • 2014-11-21
    相关资源
    最近更新 更多