Cocos2d-x中的屏幕適配模式


分辨率適配
爲了能更好的適應各類分辨率大小和屏幕寬高比的移動終端設備,遊戲的開始,咱們仍是先來看看分辨率的適配設置。 
 
打開AppDelegate.cpp文件,在applicationDidFinishLaunching函數裏面添加以下代碼,以便咱們的遊戲,可以更好的適應不一樣的運行環境。
 
 
 
 
 
  1. // 分辨率適配 
  2. glview->setDesignResolutionSize(320.0, 480.0, ResolutionPolicy::FIXED_WIDTH); 
  3. std::vector<std::string> searchPath; 
  4. searchPath.push_back("w640"); 
  5. CCFileUtils::getInstance()->setSearchPaths(searchPath); 
  6. director->setContentScaleFactor(640.0 / 320.0); 
  
設計分辨率是經過setDesignResolutionSize(width, height, resolutionPolicy)方法來設置的,第一,二個參數分別是設計分辨率的寬度和高度,第三個參數是你想要的模式。這裏設置的分辨率大小是開發時爲基準的屏幕分辨率大小。
 
模式有五種: 

1)EXACT_FIT 整個遊戲內容都會在屏幕內可見,而且不用提供比例係數。x,y會被拉伸,使內容鋪滿屏幕,因此可能會出現形變,全部的應用程序看起來可能會是拉伸或者壓縮的。html

2)NO_BORDER 一個方向鋪滿屏幕,另一個方向超出屏幕,不會變形,可是可能有一些裁剪。app

3)SHOW_ALL 該模式會盡量按原始寬高比放大遊戲世界,同時使得遊戲內容所有可見。內容不會形變,不過可能會出現兩條黑邊,即屏幕中會有留白。ide

4)IXED_WIDTH 該模式會橫向放大遊戲世界內的內容以適應屏幕的寬度,縱向按原始寬高比放大。函數

5)FIXED_HEIGHT 與上一中模式相反。spa

setSearchPaths()方法設置資源搜索路徑,這裏w640是搜索的文件夾名。
 
setContentScaleFactor()方法設置內容縮放因子,顧名思義,就是設置整個遊戲內容放大或者縮小的比例係數。
 
更多分辨率適配細節,參考 《Cocos2d-x 多分辨率適配徹底解析》
相關文章
相關標籤/搜索