OpenGL的多视图(cocos2d的)(Multiple OpenGL views (Cocos2

2019-06-27 12:11发布

注意任何人谁可以帮我正确地解决这个问题完全得到100点赏金

在我的应用我与Cocos2D中混合的UIKit在一起,我使用addSubview和removeFromSuperview要求做一些简单的自定义视图动画。 我最近需要另一个CCScene添加到我的应用程序,以摆脱一些复杂的UIKit代码的Cocos2D都能应付自如。 所以,我有我的应用程序基本观点,它与它的一些按钮,一个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个CCScenes。 因此,在示例项目的代码是我原来的项目的几乎副本,以便任何错误在那里将很可能导致我在这里解决眼前的问题,并希望摆脱那些OpenGL的错误。

几个小时的测试和收集信息后,似乎我的问题是相似的: iOS和多个OpenGL的看法 。 我也看到了这个链接: http://gamesfromwithin.com/using-multiple-opengl-views-and-uikit 。 然而这两个环节都没有任何意义,我,因为我不知道怎么把它与cocos2d的。 我觉得这整个问题是cocos2d的当前版本的限制,但如果有人可以下载我的项目,不知何故这些过去的两个环节补丁应用到我的项目,完全解决它,那将是巨大的,并会解决我所有的问题!

现在的Cocos2D在我的项目中的版本是最新的可用下载的2.0版本。 如果有人就不够好,下载的项目,看看有什么我做错了,我认为这将解决这个问题,我和其他人谁遇到类似地雷的问题。

下面的链接是一个下载链接我的问题示例项目: http://www.gogofile.com/Default.aspx?p=sc&ID=634818635814123750_4340

更新为12年9月3日 ,我目前只是想联系@riq,后面的Cocos2D适用于iOS的主要创造者。 但是之前,我这样做,是我们每个人肯定没有办法只是有一个CCGLView和我可以扑通它在任何UIViewController中,因为技术上我不会使用被两种观点,它只是在控制器之间一个共享视图。 这是可能的方式?

Answer 1:

好了,所以我发现我非常有3种选择

1. @Riq告诉我要多CCDirectors的支持在2.2版本将在2013年5中释放,从而发挥等待的游戏,直到公测2.2出来即将到来。 更新 :自六月中旬2.1最终已经出来,所以我猜想,2.2测试版应该在一两个月之内出来。

2.只要有一个UIViewController中保存的CCGLView。 那么无论UIViewController中我需要的glView在我只想用addChildViewController (iOS 5以上),我只想保持这种保留的UIViewController当我交换意见,并就去做replaceScene当时太(也许在UIView的动画完成回调)。 我觉得这种方式会工作过,但我不知道它的效率。

编辑 :我已经使用并充分测试该解决方案,似乎工作的伟大。 我建议这样做,直到2.2出来。 我的应用程序在60FPS运行,看起来不错。

3.我个人还没有尝试过任何这些链接/拉请求,并且都没有@Riq所以这将是我最后的选择。 http://www.cocos2d-iphone.org/forum/topic/33480和http://www.cocos2d-iphone.org/forum/topic/17821



Answer 2:

导演只支持一个冰川视图。 什么,你会想要做的就是像抓住你的GL视图的屏幕截图,使一个UIView,你可以与其他uiviews过渡,然后改变对一个真正的导演场景,然后过渡,早在一些挂羊头卖狗肉。

多视图的支持在作品中不过关,可能几个月。



文章来源: Multiple OpenGL views (Cocos2D)