在iOS上,如果我想覆盖两个视图,然后从一个场景混合到另一个场景。
例如:从游戏菜单到实际游戏。首先是菜单,然后点击(“开始游戏”)加载游戏视图,并从菜单到游戏阶段进行良好的混合/转换。
这不是混合的具体问题,而是如何处理OpenGL应用程序中的多个视图。我已经阅读并使用了一些关于如何绘制线条,对象,闪电,颜色和类似物的基础知识,但是当我将它们放在一个真实的(不仅仅是一个静态视图)OpenGLES应用程序中时,我完全是绿色的。我的意思是你必须使用不同的观点,对吧?或者这个设计模式是否具有不同的视图控制器和视图,我们在日常的UIKit编程中都习惯了它们在OpenGLES中不适用?因为我无法实现它。我找不到任何例子。
答案 0 :(得分:1)
它为您提供图层,场景转换,准备去菜单,精灵等。 所以我不再打扰如何做到这一点,现在就使用cocos。
如果您不熟悉OpenGL,请不要犹豫,它会让您的生活更轻松147 *。顺便说一句......你也可以将它与3d结合起来。
答案 1 :(得分:0)
如果您希望在应用程序中以CAEAGLLayers的形式拥有多个同时可见的OpenGL视图,那么需要记住一点:
RewriteEngine On
RewriteRule index.html index.php
RewriteRule history.html historyp.php
RewriteRule h-general.html historyp.php?page=overall
RewriteRule h-tajik.html historyp.php?page=tajik
RewriteRule h-woman.html historyp.php?page=woman
RewriteRule timeline.html hronika.php
RewriteRule t-tajik.html tajikchron.php
RewriteRule t-overall.html overchron.php
RewriteRule time.html chronm.php
RewriteRule heroes.html heroesp.php
将更改上下文,不仅针对当前正在执行的视图,还针对应用的所有EAGL视图。这可以通过制作其他正在冻结的视图来体现,因为OpenGL调用现在转到执行[EAGLContext setCurrentContext:oglContext]
的最后一个视图。
要解决这个问题,每次调用视图实例时都必须调用[EAGLContext setCurrentContext:oglContext]
,然后再进行任何OpenGL调用。
在我的应用中,我只在视图的[EAGLContext setCurrentContext:oglContext]
中设置了一次上下文。多年来一直很好。一旦我创建了该视图的第二个实例,第一个视图就停止了更新。现在,在进行任何CVOpenGLES调用之前,我在更新调用中设置了上下文。