【问题标题】:Kobold2D KKInput improper orientation?Kobold2D KKInput 方向不正确?
【发布时间】:2012-12-30 19:15:37
【问题描述】:

我在设备方向和输入方面遇到问题。使用 xcode->projects->orientation 设置,我禁用了除纵向之外的所有内容。当我转动设备时,图形保持在原位(如预期的那样),但 KKInput 手势(如平移)似乎提供了不正确的坐标和平移。我的第一个怀疑是我遗漏了与 KKInput 处理 convertToGL 相关的内容。在我看来,Cocos2d 似乎仍在读取设备的方向并将其考虑在内进行计算。如果有帮助,下面是一个插图。

正方形网格中的两个“正方形”精灵。

**** | ****
*  * | *  *
**** | ****

将手指放在 XX 精灵上,向右拖动。

      **** | ****
  ->  *XX* | *  * (squares move horizontal)
      **** | ****

将设备转为横向。

**** | ****
*  * | *  *
**** | ****

将手指放在 XX 精灵上,向右拖动。

     ^ (squares move vertical)
     ^

    **** |
    *XX* | 
    **** |
    ____ | ****
           *  *
    **** | ****
    *  * |
    **** |

【问题讨论】:

    标签: ios cocos2d-iphone kobold2d


    【解决方案1】:

    是的,很遗憾 KKInput 使用操作系统的 UIDeviceOrientation 来转换用户输入。即使用户界面被锁定为纵向,设备方向也会返回横向,这会影响计算并导致此错误。

    如果您的项目不是太旧,我建议迁移到 Cocos2d 3.0,它带有更简单的触摸处理。

    【讨论】:

    • 实际上,我发现问题在于有一个额外的触摸输入,似乎只有在设备为“FLAT”时才会收到。我在 switch 语句中跳过了这个案例,导致了混乱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 2014-07-15
    • 2014-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多