gpt4 book ai didi

iphone - 如何旋转 OpenGL 以适应 iPhone 横向模式?

转载 作者:太空狗 更新时间:2023-10-29 23:09:40 26 4
gpt4 key购买 nike

我正在移植我用 C++ 和 OpenGL/ES 在 iPhone 上制作的现有跨平台程序。请记住,我对 Objective-C 一无所知……

我刚刚简要编辑了其中一个教程的 Objective-C 文件,以便为 iPhone 正确初始化 OpenGL,并为其他所有内容简单地调用我的 C++ 多平台代码。

我的程序只会在横向模式下运行,这就是为什么我将它设置为唯一支持的界面方向(在 info.plist 文件中)。

我想知道的是我应该如何告诉 OpenGL 根据横向模式旋转。目前我已经添加了一个 glRotate 在绘图之前执行它,但这是一个卑鄙的把戏。

另一件事:我尝试使用另一种快速方法将触摸转换为等效于鼠标点击的坐标,并且我得到了一个点,该点位于 X 轴上 80 像素和 Y 轴上 80 像素的距离处。我为这个困惑添加了另一个肮脏的修复(使用 GlTranslatef)并且我得到了正确的坐标,除了......颜色选择被破坏了。

需要说明的是,颜色选择在左侧的前 160 个像素(既是 2 * 80 又是 480 - 320,所以,呵呵,99% 的可能性是我的脏代码造成的)上没有检测到任何东西...... )

处理这个问题的正确方法是什么?

最佳答案

您无需执行任何操作即可在横向模式下使用 OpenGL。我怀疑你实际上并没有进入横向模式。您需要在 View Controller 中覆盖 shouldAutoRotateToInterfaceOrientation::

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
return orientation == UIInterfaceOrientationLandscapeLeft; // Or ...Right
}

要验证它是否正常工作,将一些随机控件(例如,空按钮)放在 View 的角落,Interface Builder 处于横向模式,然后查看它们弹出的位置。

关于iphone - 如何旋转 OpenGL 以适应 iPhone 横向模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4318643/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com