2009-12-02 6 views
2

... 좌절입니다. 내 게임을 가로 모드에서만 실행하고 싶습니다. Info.plist 파일에 적절한 키/값을 추가하여 시작시 장치 방향이 정확하도록합니다.iPhone 회전 + EAGLView 회전 =

이제 장치의 좌표 공간과 일치하도록 OpenGL 좌표 공간을 회전하려고합니다. here 코드를 사용하려고하는데 작동하지 않습니다. 내 테스트 케이스는 가운데에 사각형을 그려 넣고 모든 코드는입니다. 두 번째 부분 (GL_PROJECTION 행렬 모드 만 설정)을 주석 처리하면 좌표계 이 올바른 것처럼 보입니다. 그러나 나는 그것을 회전시키고 싶다. 나는보기 닙을 올바르게 설정하는 것뿐만 아니라 이렇게하는 방법에 약간 당황 스럽다. 팁, 제발?

또한 향후에는 다른 UIView 하위 클래스로 EAGLView를 교체 할 예정입니다. 다른 일을 요구하는이 일을하고 있습니까?

감사합니다. randy

답변

2

plist가 올바르게 설정되었습니다. 이 일을 깨끗이 할 수없이

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
{ 
    return (toInterfaceOrientation==UIInterfaceOrientationLandscapeRight) ? YES : NO; 
} 

아이보기 : 지금 확인 ALL 뷰 컨트롤러는 다음이합니다. 당신이 UINavigationController가 또는 유사한있는 경우

또한 당신은 그것을 서브 클래스 자체에 그 죽은 바보 때문에 shouldAutorotateToInterfaceOrientation를 구현해야하고 세로 파멸 가지로 기본 설정됩니다.

다음의 viewDidLoad

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    CGRect rect = [[UIScreen mainScreen] bounds]; 
    rect.size.height = 320; 
    rect.size.width = 480; 
    rect.origin.x = 0; 
    rect.origin.y = 0; 

    glView = [[EAGLView alloc] initWithFrame:rect pixelFormat:GL_RGB565_OES depthFormat:GL_DEPTH_COMPONENT16_OES preserveBackbuffer:NO]; 
    [self.view addSubview: glView]; 

    [glView addSubview: minimapView]; 
    //etc... 

} 
+0

을 위해 내가하는 모든 일에 대한 SO 컨설팅 중지해야합니다. xcode ("Landscape"검색, "Landscape에서 응용 프로그램 시작 ..."검색)을 사용하여 문서의 메모에서 동일한 대답을 찾았지만 무시한 다음 대신 SO에 왔습니다. ;) 감사. – rdrey