繁体   English   中英

OpenGL MonoTouch游戏中的方向

[英]Orientation in OpenGL MonoTouch game

在我的MonoTouch游戏中寻找正确的方向处理方法(尽管Obj-C中的答案很好)。

我们希望支持LandscapeLeft和LandscapeRight方向,但保留本机OS的方向,因此音量弹出窗口和通知中心面板不会上下颠倒。

这很令人困惑,因为有几种方法可以完成我们需要的工作:

  1. Info.plist设置
  2. 应该在UIViewController中重写
  3. 设置UIDevice.CurrentDevice.Orientation
  4. 或仅挂接到NSNotificationCenter并使用OpenGL执行旋转,翻译触摸事件

我最好的方法是使用#1和#4,出于性能方面的考虑,Apple似乎也推荐这样做。 我读了一些文档,说旋转带有OpenGL内容的视图(通过选项#2)会损害性能,请参见性能部分的此处 (我们希望我们的游戏能够在更老的iPod Touch上很好地运行)

我的问题是,当旋转LandscapeRight时,游戏中的所有内容都可以正确绘制,但是音量和通知中心在OS中是颠倒的。

有没有更好的方法来解决这个问题?

我看了看其他一些游戏做什么:

  1. 愤怒的小鸟-使用OpenGL旋转,但是在LandscapeRight中可以正常使用
  2. 跳出-与UIViewController一起旋转
  3. 小翅膀-完全不旋转

我想像我的应用程序中的《愤怒​​的小鸟》一样旋转。

我在项目“目标”设置中设置了受支持的方向,但是我只旋转了没有OpenGL的视图。

// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM