2012-09-23 45 views
1

我一直在爲使用Cocos2d 2.0的iPad遊戲工作,在爲新iPad(Retina Display)加載高清圖像時我遇到了問題。Cocos2d 2.0問題在Retina Display中加載高清圖像

即使加入[director enableRetinaDisplay:YES];後仍不能工作:但是,爲什麼高清圖像沒有被自動而執行的代碼加載我想不通。下面是加載圖像時的代碼示例:

MainBG = [CCSprite spriteWithFile:@"menuBackground-ipad.png"]; 
CGSize ScreenSize = [[CCDirector sharedDirector]winSize]; 
MainBG.position = ccp(ScreenSize.height/2,ScreenSize.width/2); 
[self addChild:MainBG z:0]; 

我有另外一個圖像中的項目資源menuBackground-ipadhd.png(我可以從Xcode中看到它)。

任何人都可以幫忙嗎?

回答

1

對我來說是工作在cocos2d 2.0

變化是menuBackground-ipad.png到menuBackground.png 確保所有這些線r在烏拉圭回合的appDelegate和pushScene末找到。也可以使用onEnter代替圖層類中的init。

if(! [director_ enableRetinaDisplay:YES]) 
     { 
      CCLOG(@"Retina Display Not supported"); 
     } 

    CCFileUtils *sharedFileUtils = [CCFileUtils sharedFileUtils]; 
    [sharedFileUtils setEnableFallbackSuffixes:NO];    // Default: NO. No fallback suffixes are going to be used 
    [sharedFileUtils setiPhoneRetinaDisplaySuffix:@"-hd"];  // Default on iPhone RetinaDisplay is "-hd" 
    [sharedFileUtils setiPadSuffix:@"-ipad"];     // Default on iPad is "ipad" 
    [sharedFileUtils setiPadRetinaDisplaySuffix:@"-ipadhd"]; // Default on iPad RetinaDisplay is "-ipadhd" 

    [director_ pushScene: [IntroLayer scene]]; 

//在層..

-(void)onEnter 
{ 
    [super onEnter]; 
    MainBG = [CCSprite spriteWithFile:@"menuBackground.png"]; 
    CGSize ScreenSize = [[CCDirector sharedDirector]winSize]; 
    MainBG.position = ccp(ScreenSize.height/2,ScreenSize.width/2); 
    [self addChild:MainBG z:0]; 
} 
0

加載文件時,不要指定在iPad/HD /等後綴的文件。

MainBG = [CCSprite spriteWithFile:@"menuBackground-ipad.png"]; 

刪除後綴允許的cocos2d我們做它在選擇正確的圖像工作:

MainBG = [CCSprite spriteWithFile:@"menuBackground.png"]; 
+0

確保使用下面的命名約定iPad上的問題是由這裏使用-iPad後綴引起高清文件:menuBackground-ipadhd.png。請參閱:http://stackoverflow.com/questions/9623720/universal-cocos2d-game-to-support-ipad3 –