我遇到设备方向和输入问题。使用xcode-> projects->方向设置我禁用了除Portrait之外的所有内容。当我转动设备时,图形保持原位(如预期的那样),但KKInput手势(例如平移)似乎提供了错误的坐标和翻译。我唯一的怀疑是我遗漏了与KKInput处理convertToGL有关的事情。对我而言,似乎Cocos2d仍在阅读设备的方向并将其考虑在内进行计算。以下是有用的说明。
来自正方形网格的两个“正方形”精灵。
**** | ****
* * | * *
**** | ****
将手指放在XX精灵上,将其向右拖动。
**** | ****
-> *XX* | * * (squares move horizontal)
**** | ****
将设备转为横向。
**** | ****
* * | * *
**** | ****
将手指放在XX精灵上,将其向右拖动。
^ (squares move vertical)
^
**** |
*XX* |
**** |
____ | ****
* *
**** | ****
* * |
**** |
答案 0 :(得分:0)
是的,不幸的是,KKInput使用操作系统的 UIDeviceOrientation 来转换用户输入。即使很难将用户界面锁定为纵向,设备方向也会返回横向,这会影响计算并导致此错误。
如果您的项目不太旧我建议迁移到Cocos2d 3.0,它会提供更简单的触摸处理。