我在设备方向和输入方面遇到了问题。使用xcode->projects->orientation设置,我已经禁用了除Portrait之外的所有内容。当我转动设备时,图形仍然存在(正如预期的),但KKInput手势(如平移)似乎提供了不正确的坐标和平移。我的第一个怀疑是我遗漏了一些与KKInput对convertToGL的处理相关的东西。在我看来,Cocos2d似乎仍然在读取设备的方向,并将其考虑到计算中。下面是一个插图,如果有帮助的话。
正方形网格中的两个“正方形”精灵。
**** | ****
* * | * *
**** | ****将手指平移到XX精灵上,将其向右拖动。
**** | ****
-> *XX* | * * (squares move horizontal)
**** | ****将设备转到横向。
**** | ****
* * | * *
**** | ****将手指平移到XX精灵上,将其向右拖动。
^ (squares move vertical)
^
**** |
*XX* |
**** |
____ | ****
* *
**** | ****
* * |
**** |发布于 2014-01-27 11:28:51
是的,不幸的是,KKInput使用操作系统的UIDeviceOrientation来转换用户输入。即使用户界面锁定为纵向,设备方向也会返回横向,这会影响计算并导致此错误。
如果你的项目不是太老,我建议你迁移到Cocos2d 3.0,它的触摸处理要简单得多。
https://stackoverflow.com/questions/14093777
复制相似问题