Note: 任何可以帮助我正确解决这个问题的人都会得到100点赏金!!!
在我的应用程序中,我将 UIKit 与 Cocos2D 混合在一起,我使用 addSubview 和 removeFromSuperview 调用做了一些简单的自定义视图动画。我最近需要在我的应用程序中添加另一个 CCScene,以摆脱 Cocos2D 可以轻松处理的一些复杂的 UIKit 代码。所以我的应用程序中有一个基本视图,它是一个 UIViewController,上面有一些按钮。这些按钮后面是一个 CCGLView,Cocos2D 将在其上执行任何操作。效果很好。然后当我想去我的第二个视图控制器(我们称其为我的游戏视图),在我执行视图动画后,viewdidload 被调用(这就是我的第二个 CCScene 的导演初始化的地方),要么什么也没有发生,要么我在控制台中收到如下错误。现在,在我的原始项目中,我得到了以下错误,而在这个示例项目中什么也没有发生。这些是错误:
OpenGL error 0x0501 in DrawSolidPolygon 104
OpenGL error 0x0502 in DrawSolidPolygon 104
OpenGL error 0x0501 in -[CCTextureAtlas drawNumberOfQuads:fromIndex:] 556
OpenGL error 0x0502 in -[CCTextureAtlas drawNumberOfQuads:fromIndex:] 556
OpenGL error 0x0502 in -[CCTextureAtlas drawNumberOfQuads:fromIndex:] 556
OpenGL error 0x0501 in -[CCParticleSystemQuad postStep] 411
OpenGL error 0x0506 in -[CCSprite draw] 532
OpenGL error 0x0502 in -[CCParticleSystemQuad draw] 434
OpenGL error 0x0502 in -[CCSprite draw] 532
OpenGL error 0x0502 in -[CCSprite draw] 532
现在,当我的原始项目中有一个场景时,不会发生这样的情况,只有当我使用 2 个 CCScene 时才会发生这种情况。因此,示例项目中的代码几乎是我原始项目的副本,因此其中的任何错误很可能会导致我在这里解决手头的问题,并希望消除这些 OpenGL 错误。
经过几个小时的测试和收集信息后,我的问题似乎类似于:iOS 和多个 OpenGL 视图。我也看到了这个链接:http://gamesfromwithin.com/using-multiple-opengl-views-and-uikit。然而,这两个链接对我来说没有任何意义,因为我不知道如何将其与 Cocos2D 关联起来。我认为这整个问题是当前版本的 Cocos2D 的限制,但如果有人可以下载我的项目并以某种方式将过去两个链接的修复应用到我的项目并完全修复它,那就太好了并且可以解决我的所有问题!
现在我项目中的Cocos2D版本是最新可以下载的2.0版本。如果有人愿意下载该项目并看看我做错了什么,我认为这将为我和其他遇到与我类似问题的人解决问题。
下面的链接是解决我的问题的示例项目的下载链接:
截至 2012 年 9 月 3 日更新,我目前正在考虑联系 @riq,他是 iOS 版 Cocos2D 的主要创建者。然而,在我这样做之前,每个人都确定没有一种方法可以只拥有一个 CCGLView 并且我可以将其放入任何 UIViewController 中,因为从技术上讲我不会使用两个视图,它只是控制器之间的一个共享视图。这种方式可以吗?
好吧,我发现我几乎有3个选项:
1.@Riq 告诉我,2.2 版本将支持多个 CCDirectors,该版本将于 2013 年 5 月发布。因此,请等待 2.2 测试版发布。Update:2.1 Final 自 6 月中旬以来已经发布,所以我猜测 2.2 beta 应该会在一两个月内发布。
2.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)