Cocos2d-x3.8 - 屏幕适配
来源:互联网 发布:互联网数据分析平台 编辑:程序博客网 时间:2024/06/09 00:49
Cocos2d-x适配屏幕时,只需要知道以下两种定义:
1、窗口分辨率:目标设备的分辨率。
glview = GLViewImpl::createWithRect("helloworld", Rect(0, 0, frameSize.width, frameSize.height));
frameSize为目标设备的分辨率。
2、设计分辨率:项目设定的分辨率。
glview->setDesignResolutionSize(designSize.width, designSize.height, ResolutionPolicy::FIXED_HEIGHT);
designSize为设计的分辨率。
在做屏幕适配时,最有用的是setDesignResolutionSize方法。有3个参数:设计的宽、高以及适配模式。
Cocos2d-x提供了5种设计模式(在ResolutionPolicy域中定义):
1、EXACT_FIT:拉伸适配,铺满全屏。
2、SHOW_ALL:比例缩放,比例大的铺满全屏,比例小的留黑边。
3、NO_BORDER:比例缩放,比例小的铺满全屏,比例大的超出屏幕。
3、FIXED_WIDTH:比例缩放,按宽比适配。
4、FIXED_HEIGHT:比例缩放,按高比适配。
具体的计算方法可以参照以下方式:
窗口分辨率:Size(fWidth, fHeight)
设计分辨率:Size(dWidth, dHeight)
缩放因子:kw = fWidth/dWidth, kh = fHeight/dHeight
适配后的分辨率为:
1、EXACT_FIT:Size(dWidth*kw, dHeight*kh)。
2、SHOW_ALL:Size(dWidth*min(kw, kh), dHeight*min(kw, kh))。
3、NO_BORDER:Size(dWidth*max(kw, kh), dHeight*max(kw, kh))。
4、FIXED_WIDTH:Size(dWidth*kw, dHeight*kw)。
5、FIXED_HEIGHT:Size(dWidth*kh, dHeight*kh)。
最后区分一下Cocos2d-x中获取屏幕大小的方法:
1、Director::getInstance()->getWinSize():获取屏幕大小(目标设备分辨率)。
2、Director::getInstance()->getVisibleSize():获取可视大小(不包括黑边)。
- Cocos2d-x3.8 - 屏幕适配
- Cocos2d-x3.2 屏幕适配
- Cocos2d-x3.5屏幕适配
- COCOS2D屏幕适配
- cocos2D:屏幕适配
- cocos2d 屏幕适配
- cocos2d-x3.8进度条加载
- Cocos2D-X学习8:屏幕适配
- cocos2d-x3.x实现屏幕画线并添加刚体属性
- Cocos2d-x3.2中 不让物体飞出屏幕
- cocos2d-x3.10 如何保持屏幕常亮
- cocos2d-x 屏幕适配
- Cocos2d-x 屏幕适配
- cocos2d-x屏幕适配
- Cocos2d-x 屏幕适配
- cocos2d-x屏幕适配
- Cocos2d-x 屏幕适配
- cocos2d-x屏幕适配
- 开发人员的mac怎么装
- Mac App Store下载总是发生错误如何解决?
- mac 笔记本忘记密码
- 【codevs 1516】平均分数
- RecyclerView结合CardView使用
- Cocos2d-x3.8 - 屏幕适配
- UNITY 5.2 PlayerPrefs类
- Caffe问题汇总(不定期更细)
- 1027. 打印沙漏(20)
- C语言register关键字—最快的关键字
- 从ffmpeg源代码分析如何解决ffmpeg编码的延迟问题(如何解决编码 0 延时)
- [转载]windows x64下正确安装PIL:解决python关联zlib、jpeg问题
- 什么是URL编码,URL解码
- 河南第八届省赛(挑战密室)