本文**於
先感嘆一下吧~~android的各種解析度各種適配虐我千百遍,每次新專案我依舊待它如初戀····
每家公司都有自己專案工程適配的方案,這種東西就是沒有最好,只有最適合!!!
這次新專案專項針對android,目的性強,適配方案我覺得2套圖去相容android各種解析度;
我們先了解一下android手機上的螢幕密度:
android主要有以下幾種屏:
qvga和wqvga屏density=120;
hvga屏density=160;
wvga屏density=240....更多 density值表示每英吋有多少個顯示點;
和解析度不一樣,大部分做應用的就可以通過螢幕密度走,那麼遊戲中也可以類似走這種路線;
但是現在的出現了超高清螢幕,諸如小公尺,三星稍微比較高階一點新出的機型解析度都非常之高達到fhd;
fhd級別就是我們所謂的螢幕畫素達到了1920*1080p格式,也就是全高畫質螢幕的簡稱了,要適應這種螢幕得單獨適配;
廢話不多了就直接上解決方案吧:
思路1:背景適配,然後往背景裡面add部分ui原件的方法。先解決背景適配;
思路2:根據螢幕尺寸,去適應「螢幕視窗ui原件」,不屬於任何原件直接add到cclayer中的;
**如下:
先建立乙個visiblerect類去通過cceglview拿到螢幕尺寸,然後再取八個點作為靜態方法以後直接當做目標定位使用
#ifndef __visiblerect_h__visiblerect.cpp#define __visiblerect_h__
#include "cocos2d.h"
using_ns_cc;
class visiblerect
;#endif /* __visiblerect_h__ */
#include "visiblerect.h"有了這個工具類可以做很多事情了;ccrect visiblerect::s_visiblerect;
void visiblerect::lazyinit()
}ccrect visiblerect::getvisiblerect()
ccpoint visiblerect::left()
ccpoint visiblerect::right()
ccpoint visiblerect::top()
ccpoint visiblerect::bottom()
ccpoint visiblerect::center()
ccpoint visiblerect::lefttop()
ccpoint visiblerect::righttop()
ccpoint visiblerect::leftbottom()
ccpoint visiblerect::rightbottom()
下面我們需要去適配背景,具體方法如下:
ccsprite* publicshowui::settagscale(ccsprite* tagsprite)800*480 一套
1136*640 二套
hd高畫質 第三套 1920 * 1080 目前手機上面比較高的,據說三星的超過2000,可以自己去設定!
/******************獲取螢幕解析度screensize:*獲取螢幕解析度
*根據解析度計算使用哪一套資源
******************/
int publicshowui::getinch(void)
else if(winsizeinpixels.width>960&&winsizeinpixels.width<=1136)
else if(winsizeinpixels.width>1136&&winsizeinpixels.width<=1920)
else
return lastinch;
}/******************
*根據自定義路徑去取不同套圖的路徑
*imgres 格式:imgdir%d/imgname.png
******************/
ccstring* publicshowui::getresimgpath(char* imgres)
cceglview* peglview = cceglview::sharedopenglview();使用:pdirector->setopenglview(peglview);
ccsize screensize = peglview->getframesize();
view_room = new view_room(this, publicshowui::getresimgpath(img_room_background), 1, visiblerect::center());背景圖一定要居中顯示:
visiblerect::center()ok以上便是我適配的方案和思路;
下面我上2張ios模擬器上的圖,我故意再背景圖的邊框加了綠線,來顯示區別顯示全屏,然後用了兩套圖去適配!
3.5寸ios的解析度如下:
4寸解析度如下:
cocos2dx android 環境 搭建
1.搭建環境 windows 7 cocos2dx 2.1.4 下面 記錄 我 搭建 android 環境 所遇到的 報錯 和 解決 方案 遇到 program bash is not found in path 問題,解決 方案 解決方案 遇到 cocos2dxactivity cannot be...
cocos2d x android環境問題
進入cocs2d x目錄,用文字編輯器開啟create android project.bat 將 cygbin 設定為cycgwin bin安裝的的絕對路徑。將 androidtools設定為android sdk 的tools絕對路徑 將 ndkroot設定為android ndk的絕對路徑 修...
cocos2d x android 字型的設定
cocos2d x 的優點之一 就是跨平台 我們知道 ios 自帶的字型 和 android 自帶的字型不同 為了使我們開發的遊戲中的字型統一 我們就需要自己的字型 包括從mac 拷貝出來的 字型 從 mac 中 copy 出 thonburi.ttf 檔案 這個字型在我的 win8 下打不開 但是...