2011-04-05 6 views
0

세로 방향으로 표시하려는 시작 메뉴 장면이 있습니다. 나머지 게임은 표준 가로 방향입니다.런타임 중 화면 방향 변경

나는 장면 init 메소드에 다음을 시도했다 : 나는 화면 - 오리엔테이션 런타임 중에 전환 할 수있는 방법,

[[CCDirector sharedDirector] setDeviceOrientation:kCCDeviceOrientationPortrait]; 

[[CCDirector sharedDirector] setDeviceOrientation:CCDeviceOrientationPortrait]; 

내 질문은?

미리 감사드립니다. 알렉스

답변

1

당신은 당신이 풍경에되고 싶은 뷰 컨트롤러에서 다음 코드를 사용해야합니다 :

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { 
    return UIInterfaceOrientationLandscapeLeft; 
} 

그 코드는 가로 왼쪽에만 디스플레이 뷰 컨트롤러를 강제 할 것이다. 지원하려는 방향을 반환합니다.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { 
     return UIInterfaceOrientationLandscapeLeft && UIInterfaceOrientationLandscapeRight; 
    } 

나는 cocos2d를 사용하고 있지만이 코드는 여전히보기 컨트롤러에서 잘 작동해야한다는 것을 알고 있습니다.

+0

나는 자동 회전을 지원하고 싶지 않습니다 ... 하나의 특정 장면이 세로 방향에 있어야합니다 ... 아무 것도 일어나지 않아야합니다. –

+0

첫 번째 코드 블록을 사용하면 그것은 그 견해에서지지 될 유일한 방향입니다. 다른 방향으로는 회전 할 수 없습니다. –

+0

시작 순서가 앱의 가로 부분과 다른보기 컨트롤러에있는 경우에만 작동합니다. –

0

나는 직접적으로 뭔가를하는 것에 대해 확신하지 못합니다. cocos2d. 그러나 모든 것을 단일 UIView에 넣은 다음 90도 회전 변환을 수행 할 수 있습니다. 기기를 강제로 돌리는 비공개 API가 있지만 사용하기에 앱 스토어 규칙이므로 예측할 수 없습니다.

+0

입니다. 답변은 ... ut는 아닙니다.) –

+0

정확히 무엇을 찾고 있습니까? ? 당신은 풍경 모드에 있고, 초상화 하나에 하나의 화면을 보여주고 싶습니까? 화면을 밀 때 이미 세로로 표시되어 있습니까? 로테이션 애니메이션을 표시 하시겠습니까? 이 모든 것은 수동으로보기를 회전하여 가능합니다. 장치를 "강제로 회전"할 이유가 없습니다. – drewag

+0

표준 Cocos2D 프로젝트가 있고 AppDelegate에 세로 방향으로 있어야하는 StartMenu 장면으로 실행되도록 지정했습니다. 클릭하면 "재생, 레벨 또는 무엇이든지"라고 ​​말합니다. 가로 방향. –