2012-09-19 44 views
5

我一直在尋找這個地方,但沒有運氣。cocos2d iphone 5 4英寸顯示器支持

我該如何準備我的基於cocos2d的遊戲以適應更大的iPhone 5顯示屏? 我的應用程序正在工作,但我想爲更大的4英寸顯示器加強它。 Cocos2d爲視網膜顯示圖像使用自己的後綴。對於iPhone 4和4S的視網膜顯示器,它是image-hd.png。 iPhone 5有後綴嗎?我該如何做到這一點?

乾杯。

回答

8

將它添加到AppDelegate中:

[CCFileUtils setiPadRetinaDisplaySuffix:@"your suffix"]; 
[CCFileUtils setiPadSuffix:@"your suffix"]; 
[CCFileUtils setiPhoneFourInchDisplaySuffix:@"your suffix"]; 
[CCFileUtils setiPhoneRetinaDisplaySuffix:@"your suffix"]; 
+3

如果我沒有setiPhoneFourInchDisplaySuffix方法? Cocos2d版本cocos2d v2.1-beta2 – Buron

+0

檢查api文件,必要時升級 – LearnCocos2D

1

您是否按照以下文章添加默認圖像,名爲[email protected],分辨率爲1136x640?

How to develop or migrate apps for iPhone 5 screen resolution?

如果它不工作,我發現cocos2d的論壇上這個帖子,包含大量的相關信息:

iPhone 5的1136 X 640屏幕分辨率:http://www.cocos2d-iphone.org/forum/topic/39491

+0

是的我找到了。但我仍然不知道如何命名.png文件的精靈。我有一個名爲[email protected]的應用程序的啓動畫面和它的woking。問題留給我如何''CCSprite *播放器= [CCSprite spriteWithFile:@「player.png」];'爲4英寸顯示器? Cocos2d知道在視網膜顯示時使用-hd後綴,我如何告訴它哪個圖像用於4英寸視網膜? – Majster

+0

我發現在cocos2d的最新發行說明和文檔中沒有提到新的後綴。我想你現在可以通過編程方式檢測並指定你的自定義player-568h.png文件。並改變,當他們將提供一個新的cocos2d發佈... – iMathieuB

12

沒有多餘的文件後綴爲iPhone 5,畢竟它只有176像素(88分)更寬。它像普通的Retina手機一樣對待,因此cocos2d會加載-hd文件。

剩下的就是根據設備定位圖像。最簡單的方法就是將兩邊的44個點作爲一個「死區」,在這裏沒有用戶輸入,也不能保證用戶可以看到遊戲對象。

更新: cocos2d 2.1添加了-widehd後綴。據說2.1最終版本將後綴重命名爲-iphone5hd。

鑑於未來的屏幕尺寸,我個人可以設置和使用-568hd後綴,因爲除iPhone 5之外的其他手機可能具有相同的分辨率。在特定的iPhone型號之後命名後綴是一種短視,至少可以這麼說。

+0

'-iphone5hd'與2.1配合良好。感謝您的信息。 –

7

不知道爲什麼大家都說沒有。

iPhone5/iPod Touch 5th的後綴爲-568h(所以4英寸視網膜顯示屏)。

總榜單:

  • -HD(iPhone 4/4S,iPod Touch的第四)
  • -568h(iPhone 5,iPod Touch的5日)
  • -iPad(新iPad 1檔/ 2)
  • -ipadhd(新iPad 3/4日)
7

這AppDelegate中加入與您所選擇的後綴:

if((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) && ([[UIScreen mainScreen] bounds].size.height == 568)) { 
    [sharedFileUtils setiPhoneRetinaDisplaySuffix: @"-your suffix"]; 
} 
0

現在的cocos2d支持iPhone寬屏幕也。

-wide.png for iphone 5 
-widehd.png for iPhone 5 HD 
0

我只是用後綴玩弄在cocos2d 2.1-RC1,並能得到它自動加載的iPhone5與「-iphone5hd」後綴的文件,在代碼的sharedFileUtil部分不改變的AppDelegate什麼。希望也有幫助。

2

我花了一段時間才弄明白這一點,因爲我對cocos2d很陌生。所以我認爲回顧可能對像我這樣的人有所幫助。在cocos2d 2.1中,您所要做的就是爲目標屏幕尺寸創建圖形,並遵循cocos後綴命名約定。請注意,cocos的後綴約定與iOS的不一樣。

在我的情況下,我有一個背景圖片佔據了整個屏幕。所以,我做了...

  1. background.png分辨率480x320,在爲iPhone
  2. 背景hd.png在960×640的iPhone視網膜(3.5" )
  3. 背景iphone5hd.png對於iPhone5的視網膜(4 「)

並使用下面的代碼將圖像加載到CCSprite中。科科斯將弄清楚爲您使用哪個圖像。

CCSprite *background = [CCSprite spriteWithFile:@"background.png"]; 
background.position = ccp(background.textureRect.size.width/2, 
background.textureRect.size.height/2); 
[self addChild:background]; 

對於像一個不佔用全屏的角色這樣的元素,cocos2d會在iPhone5中自動拾取character-hd.png。沒有必要創建character-iphone5hd.png版本。

您可以在2.1版本發佈說明在 https://github.com/cocos2d/cocos2d-iphone/wiki/cocos2d-v2.1-release-notes

2

此瞭解更多關於這就是我這樣做是爲了cocos2d v2.1-beta4

CCFileUtils.h我說:

- (void)setIphone5HDSuffix:(NSString *)suffix; 

CCFileUtils.m

- (void)setIphone5HDSuffix:(NSString *)suffix 
{ 
    [_suffixesDict setObject:suffix forKey:kCCFileUtilsiPhone5HD]; 
} 

AppDelegate.m

[sharedFileUtils setIphone5HDSuffix:@"your_suffix"]; 

而這就夠了!

相關問題