在ios開發中要相容iphone/ipad,把devices 設定成universal就能自動適配iphone/ipad,這個比較簡單,難點是素材的適配問題。素材適配有兩個問題:素材位置、素材大小
1、素材位置問題
關於位置有兩種方式:絕對位置和相對位置。如下所示:
絕對位置:ccp(48,32);
相對位置:ccp(size.width*10%,size.height*10%);
比如說當前裝置大小為480*320,那麼這兩個位置相等,如果裝置大小為960*640,那麼就對位置的素材就會發生偏移,而相對位置就等於ccp(96,64),不管裝置大小怎麼變它始終在螢幕的(10%,10%)的位置。顯然要適配不同的裝置我們就需要使用相對位置。
2、素材的大小問題
關於素材的大小問題有兩種解決方式:一種是多套素材分別適應不同的裝置,一種是一套素材適應多個裝置
1、多套素材分別適應不同的裝置
在我們的ios開發中根據不同的裝置型別,會載入不同字尾名稱的素材,預設情況下:iphone/iphone retina(高畫質模式)、ipad/ipad ratina,它們對應的素材名稱分別為:name/name-hd、name-ipad/name-ipadhd
這是預設情況下的,我們也可以自己設定其字尾名稱,新建乙個專案,開啟appdelegate.m找到如下**:
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"
在這你可以設定相應素材的字尾名稱。
2、一套素材適應多個裝置
在某些情況下我們需要使用一套素材來適配多個裝置,那麼我們就需要對進行成比例放縮,來適應不同的裝置:
cgsize size;
size.width = 480;
size.height = 320;
cgsize newsize = [[ccdirector shareddirector] winsize];
float sp_scalex = newsize.width / size.width;
float sp_scaley = newsize.height / size.height;
ccsprite* sprite = [ccsprite spritewithfile:@"icon.png"];
sprite.scalex = sp_scalex;
sprite.scaley = sp_scaley;
上面的**首先設定了原比例大小為size,然後獲取當前螢幕大小newsize,然後分別計算出x、y的比例sp_scalex、sp_scaley,最後賦值給素材的scalex、scaley。
下面說一下如何獲取裝置型別:
我們使用巨集ui_user_inte***ce_idiom()來獲取裝置型別,如下:
if(ui_user_inte***ce_idiom() == uiuserinte***ceidiomphone)
//iphone
if(ui_user_inte***ce_idiom() == uiuserinte***ceidiompad)
//ipad
iphone開發之Cocos 2D簡介
寫這個東西其實不是介紹如何用cocos 2d開發,只是介紹性的入門知識,這個東西不是一篇文章就可以搞清楚,都是需要自己去不懈的努力學習。相關的網頁 是乙個開源框架,利用它可以非常容易的在 iphone 上開發2d 遊戲。它提供了物理,精靈 sprites 時差卷軸 parallax scrollin...
iphone開發之Cocos 2D簡介
寫這個東西其實不是介紹如何用cocos 2d開發,只是介紹性的入門知識,這個東西不是一篇文章就可以搞清楚,都是需要自己去不懈的努力學習。相關的網頁 是乙個開源框架,利用它可以非常容易的在 iphone 上開發2d 遊戲。它提供了物理,精靈 sprites 時差卷軸 parallax scrollin...
使用cocos2d開發iphone遊戲入門概念
簡介 cocos2d iphone是乙個開源框架,利用它可以非常容易的在iphone上開發2d遊戲。它提供了物理,精靈 sprites 時差卷軸 parallax scrolling 支援iphone touch和accelerator等很多功能。一點說明 這一系列文章,翻譯自cocos2d的wik...