Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在较新版本的iOS(5+;)上,glScissor API的当前行为是什么_Ios_Opengl Es_Cocos2d Iphone - Fatal编程技术网

在较新版本的iOS(5+;)上,glScissor API的当前行为是什么

在较新版本的iOS(5+;)上,glScissor API的当前行为是什么,ios,opengl-es,cocos2d-iphone,Ios,Opengl Es,Cocos2d Iphone,我使用的是Cocos2d iPhone 2,我有一个CCNode派生类,我使用它来使用glScissor剪裁子节点。在研究我的解决方案时,我遇到了很多代码和注释,表明如果iOS设备位于纵向以外的任何方向,则需要转换传递到glScissor的坐标,因为glScissor使用原始设备坐标 然而,经过几个小时的努力,我发现,如果我不改变方向,一切都按预期进行 有人知道新版本的iOS中是否更改了此API吗?我有点担心编写大量依赖于我观察到的内容的代码,而不知道为什么我看到的行为与其他人看到的行为如此不同

我使用的是Cocos2d iPhone 2,我有一个CCNode派生类,我使用它来使用glScissor剪裁子节点。在研究我的解决方案时,我遇到了很多代码和注释,表明如果iOS设备位于纵向以外的任何方向,则需要转换传递到glScissor的坐标,因为glScissor使用原始设备坐标

然而,经过几个小时的努力,我发现,如果我不改变方向,一切都按预期进行

有人知道新版本的iOS中是否更改了此API吗?我有点担心编写大量依赖于我观察到的内容的代码,而不知道为什么我看到的行为与其他人看到的行为如此不同


我的开发一直以iOS 5.1为目标,据我所知,iOS 5.1只支持3GS+和iPad。所有的glScissor互联网评论都是指与我观察到的行为相冲突的行为,这些评论往往是从2011年初或更早的时候开始的,并且早于iOS 5.x,我在我的横向应用程序中使用的cocos2d 1.x。我发现
glScissors()
将其参数x、y、宽度和高度视为设备方向是纵向的。我必须交换参数(x和y,宽度和高度),以在横向模式下正确剪裁屏幕


现在我已经升级到cocos2d 2.x,我不再需要执行上述操作,因为
glSccissors()

Uhm尊重横向定向,为什么不安装Xcode 4.5并在设置为4的iOS 6模拟器中进行尝试呢“iPhone?我有。我使用XCode 4.5/4.3构建了它,在iOS 6/5.1/5.0 sim卡和6/5.1硬件上运行它,我得到了上面描述的结果,传入转换后的coords,它不能正常工作,传入未转换的coords,它就工作了。我遇到的问题是,它似乎与其他人看到的行为不匹配(例如)嗯,不确定,但有可能是CoCoS2D2.0改变了整个旋转。至少现在cocos2d使用了UINavigationController,以前它没有使用任何视图控制器(或者只是可选的)。感谢您的回答,也许这是cocos2d 1.x的问题,而不是iOS的问题。正如LearnCos2D所指出的,Cocos确实改变了使用视图控制器的方式。