首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone,旋转+ EAGLView,旋转=

iPhone,旋转+ EAGLView,旋转=
EN

Stack Overflow用户
提问于 2009-12-02 02:03:28
回答 1查看 1.7K关注 0票数 2

...frustration。我希望我的游戏只能在景观模式下运行。我在Info.plist文件中添加了适当的键/值,它强制设备方向在启动时是正确的。

现在,我正在尝试旋转OpenGL坐标空间,以匹配设备的坐标空间。我正在尝试使用我找到的here代码,但它不起作用。我的测试用例在中心画了一个正方形,所有这些代码都包含在内,我没有看到任何绘制;如果我注释掉第二部分(只设置GL_PROJECTION矩阵模式),坐标系似乎是正确的。但我也希望它能旋转。对于如何做到这一点,以及如何正确设置视图nib,我感到有点困惑。小费好吗?

而且,在将来,我将用另一个EAGLView子类交换UIView;这样做需要什么不同的东西吗?

谢谢!兰迪

EN

回答 1

Stack Overflow用户

发布于 2011-01-26 19:52:41

您正确地设置了plist。现在,确保所有视图控制器都有以下内容:

代码语言:javascript
复制
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return (toInterfaceOrientation==UIInterfaceOrientationLandscapeRight) ? YES : NO;
}

如果没有孩子的视角,事情就会变得一团糟。

另外,如果您有一个UINavigationController或类似的类,您需要对它进行子类化,并实现shouldAutorotateToInterfaceOrientation,因为它本身非常愚蠢,并且默认情况下会描述和破坏一些事情。

然后进行视点加载

代码语言:javascript
复制
- (void)viewDidLoad {
    [super viewDidLoad];

    CGRect  rect = [[UIScreen mainScreen] bounds];
    rect.size.height = 320;
    rect.size.width = 480;
    rect.origin.x = 0;
    rect.origin.y = 0;

    glView = [[EAGLView alloc] initWithFrame:rect pixelFormat:GL_RGB565_OES depthFormat:GL_DEPTH_COMPONENT16_OES preserveBackbuffer:NO];
    [self.view addSubview: glView];

    [glView addSubview: minimapView];
     //etc...

}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1830216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档