Cocos2dx-屏幕适配研究-随心

一、适用屏幕的基本函数讲解
CCEGLView::sharedOpenGLView()->setDesignResolutionSize() //设计分辨率大小及模式
CCDirector::sharedDirector()->setContentScaleFactor() //内容缩放因子
CCFileUtils::sharedFileUtils()->setResourceDirectory() //设置优先查找资源的目录现在已被setSearchResolutionsOrder()函数替换
CCFileUtils::sharedFileUtils()->setSearchResolutionsOrder()//设置优先查找资源的目录
CCFileUtils::sharedFileUtils()->setSearchPaths() //资源搜索路径
CCEGLView::sharedOpenGLView()->getFrameSize() //屏幕分辨率
CCDirector::sharedDirector()->getWinSize() //设计分辨率
CCDirector::sharedDirector()->getVisibleSize() //设计分辨率可视区域大小
CCDirector::sharedDirector()->getVisibleOrigin() //设计分辨率可视区域起点

//setDesignResolutionSize该函数的第三个参数为适配策略,参数值如下
1.kResolutionShowAll
屏幕宽、高分别和设计分辨率宽、高计算缩放因子,取较(小)者作为宽、高的缩放因子。保证了设计区域全部显示到屏幕上,但可能会有黑边。
2.kResolutionExactFit
屏幕宽 与 设计宽比 作为X方向的缩放因子,屏幕高 与 设计高比 作为Y方向的缩放因子。保证了设计区域完全铺满屏幕,但是可能会出现图像拉伸。
3.kResolutionNoBorder
屏幕宽、高分别和设计分辨率宽、高计算缩放因子,取较(大)者作为宽、高的缩放因子。保证了设计区域总能一个方向上铺满屏幕,而另一个方向一般会超出屏幕区域。
二、根据分辨率的不同读取不同的资源
//根据不同的分辨率读取不同的资源需要用到的函数为setResourceDirectory()或setSearchResolutionsOrder(),如下:
CCFileUtils::sharedFileUtils()->setResourceDirectory("ipad");//这优先从ipad文件件读取资源


vector
  
    resDirOrders;
resDirOrders.push_back("ipad");
CCFileUtils::sharedFileUtils()->setSearchResolutionsOrder(resDirOrders);//效果一样,只是该函数替换早期版本的setResourceDirectory函数


  
三、如何用一套资源适用各种屏幕根据不同的分辨率,来缩放游戏图片资源

1.先设置CCEGLView::sharedOpenGLView()->setFrameSize(480, 320);

2.CCEGLView::sharedOpenGLView()->setDesignResolutionSize(960,640,kResolutionShowAll);注:改方法要放在pDirector->setOpenGLView(pEGLView);

之后

3.pDirector->setContentScaleFactor(480/(float)960);//设置缩放比例

你可能感兴趣的:(Cocos2dx-屏幕适配研究-随心)