2014-12-17 2 views
-2

모든 iPhone 4 이상 및 모든 iPads 용 보편적 인 게임을 개발 중입니다. IOS 7 및 8에서 작동하고 싶습니다. 많은 매크로를 시도했지만 모든 장치 또는 IOS 7 및 8에서 이더넷을 사용하지 않았습니다. 초급 개발자이고이 문제를 해결하는 방법을 모른다. 나는 드롭 박스에 이미지를 업로드하고 당신은 내가 현장에 배경을 추가 내 SpriteKit 게임의 코드를 사용하고 여기에이 링크 여기 https://www.dropbox.com/sh/pnll2e2jvo0uigs/AACOLbzzQqZlJEZZcBx7TMR1a?dl=0IOS 7, 8 및 와이드 스크린을 감지하는 방법?

에 그들을 얻을 수 있습니다 다음과 같은 경우

#import "GameScene.h" 
#import <UIKit/UIKit.h> 

#define IS_WIDESCREEN ((fabs((double)[ [ UIScreen mainScreen ] bounds ].size.height - (double)568) < DBL_EPSILON) || (fabs((double)[ [ UIScreen mainScreen ] bounds ].size.width - (double)568) < DBL_EPSILON)) 

@implementation GameScene 


-(id)initWithSize:(CGSize)size { 
    if (self = [super initWithSize:size]) { 
     SKSpriteNode*background; 

     if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){ 
      if (IS_WIDESCREEN){ 
       background = [SKSpriteNode spriteNodeWithImageNamed:@"Background-568"]; 
      }else{ 
       background = [SKSpriteNode spriteNodeWithImageNamed:@"Background"]; 
      } 

     }else{ 
      background = [SKSpriteNode spriteNodeWithImageNamed:@"Background~iPad"]; 
     } 

     background.anchorPoint = CGPointMake(0.5, 1); 
     background.position = CGPointMake(self.size.width/2, self.size.height); 
     //background.zPosition = LayerBackground; 
     [self addChild:background]; 
    } 

    return self; 
} 

@end 

내가 더 감사하겠습니다 이 문제를 해결하고 게시 할 답변의 코드를 알려주는 데 도움이 될 것입니다. 매크로를 삽입하고 사용하는 것과 같습니다. Dropbox에 업로드 된 배경 및 이미지에 대해서도 내 코드를 사용하십시오. 고마워.

+0

어떻게 포맷합니까? –

+0

이전 질문과 어떻게 다른가요? (http://stackoverflow.com/questions/27496178/how-to-detect-ios-7-and-ios-8-for-universal-app)? – rmaddy

+0

이 제품은 작업하기가 더 쉽습니다. 이미지를 다운로드하고 매크로로 시도해 볼 수 있으며 올바른 답변 일 경우 코드 및 사용법을 게시하여 도움을받을 수 있습니다. –

답변

1

예를 들어, 나는 기기의 화면을 확인하기 위해이 코드를 사용 SDiPhoneVersion

//Getting iDevice's screen width 
CGRect screenRect = [[UIScreen mainScreen] bounds]; 
CGFloat screenWidth = screenRect.size.width; 
+0

및 내 배경 방법에서 이것을 어떻게 사용합니까? –

2

참조를 장치 정보를 검색 할 수 있습니다.

확인 IOS 버전 :

iOSVersionEqualTo(@"7.0") // ios version = 7.0 
iOSVersionGreaterThan(@"7.0")) // ios version > 7.0 
iOSVersionGreaterThanOrEqualTo(@"7.0")) // ios version >= 7.0 
iOSVersionLessThan(@"7.0")) // ios version < 7.0 
iOSVersionLessThanOrEqualTo(@"7.0") ) // ios version <= 7.0 

타겟팅 할 수있는 화면이

  • iPhone35inch
  • iPhone4inch
  • iPhone47inch
  • iPhone55inch

    크기

    당신이 당신을 도울 수

    #define Device      [UIDevice currentDevice] 
    #define IS_iPhone_Device   (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 
    #define IS_iPhone_Simulator  [Device.model isEqualToString:@"iPhone Simulator"] 
    #define IS_iPhone     (IS_iPhone_Device || IS_iPhone_Simulator) 
    #define IS_iPad_Device    (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
    #define IS_iPad_Simulator   [Device.model isEqualToString:@"iPad Simulator"] 
    #define IS_iPad     (IS_iPad_Device || IS_iPad_Simulator) 
    

    확인 장치 방향을

    확인 장치 유형에게 다른 정보를

    #define Application    [UIApplication sharedApplication] 
    #define IS_PortriatOrientation  UIInterfaceOrientationIsPortrait(Application.statusBarOrientation) 
    #define IS_LandscapeOrientation UIInterfaceOrientationIsLandscape(Application.statusBarOrientation) 
    
    #define IS_LandscapeOrientation_HomeLeft (Application.statusBarOrientation == UIInterfaceOrientationLandscapeLeft) 
    #define IS_LandscapeOrientation_HomeRight (Application.statusBarOrientation == UIInterfaceOrientationLandscapeRight) 
    #define IS_PortriatOrientation_HomeBottom (Application.statusBarOrientation == UIInterfaceOrientationPortrait) 
    #define IS_PortriatOrientation_HomeTop (Application.statusBarOrientation == UIInterfaceOrientationPortraitUpsideDown) 
    

    를 감지하는 몇 가지 매크로를 정의 할 수 있습니다 외에

88,539,783,210.

+0

답변을 수정하고 내 백그라운드 방법을 통합하여 시도해 볼 수 있습니까? 나는 정말로 무엇을 넣을 지 모른다. 그래서 나는이 문제를 풀기가 힘들다. –

관련 문제