2014-01-16 44 views
0

我正在爲iphone和ipad構建iphone應用程序。我有紋理包裝器.plists包含我的圖像。我有一個普通版本,一個-hd版本,一個ipad版本和一個ipadhd版本。如何實現構建通用cococs2d應用程序?

例如,如果我目前正在建立我的菜單,是否通過執行以下操作來設置所有菜單?

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"x_buttons.plist"]; 
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"x_buttons-hd.plist"]; 
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"s_buttons-ipad.plist"]; 
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"s_buttons-ipadhd.plist"]; 

當我創建一個按鈕,xcode'知道'哪個plist使用取決於設備? (iphone5的,iPhone4的,視網膜,iPad的等等等等)

感謝您在作出普遍應用

+0

如果你這樣做,那麼當你只需要其中的一個時,你會加載四個精靈表。 – Voldemort

+0

只需按照此URL http://www.raywenderlich.com/48180/cocos2d-x-tutorial-making-a-universal-app-part-1 – Ayaz

回答

2

約翰

你只需要編寫[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"x_buttons.plist"];幫助。

AppDelegate.mdidFinishLaunchingWithOptions methond,
更改以下行。

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"` 

這將有助於通過Xcode的後綴他們的iPad,iPad的視網膜,或視網膜iPhone建築物找到你的資源文件。

查看本教程,
http://www.raywenderlich.com/32049/texture-packer-tutorial-how-to-create-and-optimize-sprite-sheets-in-cocos2d

+0

都addSpriteFramesWithFile:@「x_buttons.plist」];和addSpriteFramesWithFile:@「s_buttons.plist」];? – Surz

+0

我的iPad版本是addSpriteFramesWithFile:@「s_buttons-ipad.plist」];和我的ipad版本高清是addSpriteFramesWithFile:@「s_buttons-ipadhd.plist」]; – Surz