cocos2dx本地差異化

1.多分辨率適配方案
 a.按照分辨率存放資源文件//默認Resource中


 b.分辨設備分辨率
    CCSize screensize = CCEGLView::SharedOpenGLView()->getFrameSize();
 c.設置默認圖片的資源
  
   CCFileUtils->sharedFileUtils()->setResourceDirectory("hd");//在Resources中的hd
   pDirector->SetContextScaleFactor(resourceSize.height/designSize.height);//設置縮放因子
  


2.適配策略
  非等比縮放
  kResoultionNoBorder:超出屏幕的部分會被裁剪,兩側沒用黑邊,鋪滿屏幕,按圖片原始比例顯示,圖片不變形
  kResoultionShowAll:整個遊戲界面是可見的,會按原始比例進行縮放,圖片不變形,但兩側可能會留下黑邊,不鋪滿屏幕
  kReoultionExactFit:整個遊戲界面是可見的,圖片可能會進行拉伸或者壓縮處理,鋪滿屏幕,圖片變型


3.設計分辨率
  SetDesignResolutionSize(designSize.witdh,designSize.height,kResoultionNoBorder);
DesignResolutionSize()是一個比較重要的概念,它是按比例進行縮放,這DesignResolutionSize表示設計方案,就是你遊戲完美支持的分辨率方案,一般根據圖片資源的尺寸來定,自適配時會按照這個分辨率計算出縮放因子,因此這個值應該是動態的, 如果屏幕 橫屏遊戲則高度是鋪滿屏幕的,寬度也要儘可能的鋪滿屏幕,因此應該選擇寬高比最大的作爲設計分辨率


4.顯示範圍
GetVisiableSize:表示獲取視口(可視區域)對的大小,如果DesignResolutionSize跟屏幕尺寸一樣大
則GetVisiableSize等於GetWinSize
GetVisibleOrign:表示可視區域的起始位置
5.相對位置


2.語言本地化
CCApplication::sharedApplication->getCurrentLanguage();
CCFileUtils->sharedFileUtils()->setResourceDirectory("hd");//在Resources中的hd
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章