我正在使用BOX2D开发游戏。 plist文件设置为仅支持纵向方向。游戏以纵向模式开始。我使用CCLayer进行子类化。为了切换视图或场景,我使用下面的代码。
[[CCDirector sharedDirector] pushScene:[scene]];
所以我想要的是在加载视图/场景时改变方向。
1st View/Scene -> Portrait Mode
2nd View/Scene -> Landscape Mode
3rd View/Scene -> Portrait Mode
尝试了一些来源,但没有得到很好的帮助。请帮我解决一下这个。任何建议将不胜感激。谢谢。
答案 0 :(得分:0)
在我看来,您想要将整个场景旋转到90度( - 或+),以实现您的视图的纵向和横向。一个简单的方法就是创建一个非常小的层作为一个枢轴点,将所有视图保存在屏幕的中心。
完成上述操作后,无论何时需要进行纵向或横向模式,您只需将viewportLayer旋转90度( - 或+)。
作为额外的奖励,放大和缩小也成为一个简单的解决方案。要实现缩放,您所要做的就是缩放viewportLayer而不用担心孩子。碰撞的所有计算仍然可以很好地工作,因为这些计算最有可能在子层中完成,因此不受父转换的影响。