2012-12-30 3 views
3

기기 방향 및 입력에 문제가 있습니다. xcode-> projects-> orientation 설정을 사용하여 Portrait를 제외한 모든 것을 비활성화 시켰습니다. 장치를 켜면 그래픽이 예상대로 유지되지만 패닝과 같은 KKInput 동작은 잘못된 좌표와 변환을 제공합니다. 제 번호 하나의 의혹은 KKInput의 convertToGL 처리와 관련된 무언가를 놓치고 있다는 것입니다. 나에게 그것은 Cocos2d가 장치의 방향을 읽고 계산을 고려하고있는 것처럼 보인다. 아래 그림은 도움이된다면 그 그림입니다.Kobold2D KK 입력이 잘못되었습니다?

정사각형의 격자에서 2 개의 '정사각형'스프라이트.

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

XX 스프라이트 위에 손가락을 대고 오른쪽으로 드래그합니다.

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

기기를 가로 방향으로 회전합니다.

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

XX 스프라이트 위에 손가락을 대고 오른쪽으로 드래그합니다.

^(squares move vertical) 
    ^

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

답변

0

예 불행히도 KKInput 사용자 입력을 변형하기 위해 OS의 UIDeviceOrientation를 이용한다. 사용자 인터페이스가 세로로 고정되어 있어도 장치 방향이 가로 방향으로 돌아가므로 계산에 영향을 주어이 오류가 발생합니다.

프로젝트가 너무 오래되지 않았다면 Cocos2d 3.0으로 마이그레이션하는 것이 좋습니다. 훨씬 간단한 터치 처리가 제공됩니다.

+0

사실, 문제는 기기가 "플랫"인 경우에만 수신되는 것으로 보이는 추가 터치 입력이 있다는 것입니다. 나는 switch 문에서이 경우를 건너 뛰어 혼란을 겪었다. – Clev3r