2014-03-25 4 views
3

이전에 없었던 문제를 발견했습니다. iPhone 5 및 관련 장치에서 게임의 상단과 하단에 검은 색 영역이 표시됩니다.스프라이트 키트의 장치를 기준으로 화면 크기를 변경하는 방법은 무엇입니까?

표준 코드를 사용하여 큰 장치에서도 skView.bounds.size가 320x480임을 보여줍니다.

- (void)viewWillLayoutSubviews 
{ 
    [super viewWillLayoutSubviews]; 

    SKView * skView = (SKView *)self.view; 
    skView.showsFPS = YES; 
    skView.showsNodeCount = YES; 
    //skView.showsPhysics = YES; 

    if (!skView.scene) { 
     NSLog(@"size: %@", NSStringFromCGSize(self.view.frame.size)); 
     SKScene * scene = [MainMenuScene sceneWithSize:skView.bounds.size]; //[MyScene sceneWithSize:skView.bounds.size]; 
     scene.scaleMode = SKSceneScaleModeAspectFill; 
     [skView presentScene:scene]; 
    } 
} 

편집 : 정확하게 iPad 크기를 결정합니다.

EDIT2 : 장면 크기를 변경해도 높이가 증가하지 않습니다. 320, 568 수동으로 아무 소용이 설정 시도했다.

EDIT3 : 기본 Xcode 프로젝트에서 동일한 검은 색 줄무늬가 표시됩니다. 뭔가 잘못되었습니다.

enter image description here

+0

이 SKView는 스토리 보드 또는 펜촉에서 생성됩니까? 레이아웃 제약 문제 일 수 있습니다. – dokkaebi

+0

기본 프로젝트에서 320x568입니다. 루트보기이므로 제약 사항이 없습니다. 거기에는 다른 것이 없습니다. – Dvole

+1

와이드 스크린 모드를 사용하려면 대상에 필수 [email protected] 파일이 포함되어 있습니까? – LearnCocos2D

답변

5

어떻게 든 Xcode는 프로젝트에 기본 시작 이미지를 제공하지 않았습니다. 시작 이미지를 추가하면 모두 작동하기 시작합니다.

0

는이

SKView * skView = (SKView *)self.view; 
    CGSize viewSize = self.view.bounds.size; 
    viewSize.height *= 2; 
    viewSize.width *= 2; 
    SKScene * scene = [MainMenuScene sceneWithSize:viewSize]; 
    scene.scaleMode = SKSceneScaleModeAspectFill; 

viewSize 여기에 2 규모가 될 것이다 장면을 할 수있는 장면의보기 크기를 변경하려면 : 여기

는 스크린 샷입니다.

5

https://developer.apple.com/library/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS8.html에서 '귀하의 앱이 iPhone 6 화면 크기를 지원한다는 것을 시스템에 알리려면 앱 묶음에 스토리 보드 실행 화면 파일을 포함하십시오. 런타임시, 시스템은 스토리 보드 실행 화면 파일을 찾습니다. 이러한 파일이있는 경우, 시스템은 사용자의 응용 프로그램이 iPhone 6 및 6 Plus를 명시 적으로 지원하고이를 전체 화면 모드로 실행한다고 가정합니다. 이러한 이미지가 없으면 시스템은 더 작은 화면 크기 (320 x 480 포인트 또는 320 x 568 포인트)를보고하여 앱의 화면 기반 계산이 정확하도록합니다. 내용은 큰 화면에 맞게 조정됩니다. '.

'Project'-> 'App Icons and Launch Images'-> 'Launch Image source'를 선택하고 Xcode에서 파일을 생성하도록했습니다. 이전 프로젝트에서도이 파일을 복사 할 수 있습니다. (Xcode 5.1.1 이전 프로젝트).

이것은 xCode 6에서 iOS 8+ 용 프로젝트를 만든 다음 iOS 7 이하에서 응용 프로그램을 실행하고 시도 할 때도 마찬가지입니다.

관련 문제