Cocos2d-X的多分辨率支持(1)
来源:互联网 发布:手机淘宝账号登录不上 编辑:程序博客网 时间:2024/06/05 17:46
课程概述
“Cocos2d-X的多分辨率支持(1)”课程概述
作为手游的载体,手机的发展日新月异,不仅是性能提高,尺寸的多样化也成了一大亮点。本节课将介绍由Cocos2d-X提供的:如何匹配不同分辨率手机屏幕办法中的设计分辨率部分。
课程笔记
不同的分辨率按照怎样的方式缩放元素
1、根据不同的屏幕分辨率设计不同的元素缩放比例
2、通过函数获取屏幕尺寸,根据屏幕尺寸按照一定比例设置元素
3、按照一个预定义的分辨率设计,由游戏引擎来根据这个分辨率针对不同的实际屏幕分辨率进行调整。
在第3种情况中,开发者定义设计分辨率,并提供给游戏引擎缩放系数(缩放策略);以及资源缩放因子用于对资源的尺寸进行调整。
缩放策略:
1、ResolutionPolicy::EXACT_FIT,满屏显示,可能会由于宽高比不同,出现比例不协调的现象。视口为屏幕分辨率,绘制区域是设计分辨率表示的区域,绘制原点为设计分辨率对应区域的原点。
2、ResolutionPolicy::NO_BORDER,超过屏显示,以较大的缩放系数为准,内容会显示到屏幕外,然后被裁剪。居中显示,视口大于屏幕分辨率,绘制区域是设计分辨率表示的区域,绘制原点为设计分辨率对应区域的原点。
3、ResolutionPolicy::SHOW_ALL,小于屏显示,以较小的缩放系数为准,内容全部都会显示到屏幕内,可能出现黑边。居中显示,视口小于屏幕分辨率,绘制区域是设计分辨率表示的区域,绘制原点为设计分辨率对应区域的原点。
4、ResolutionPolicy::FIXED_xxxxx,以指定边的缩放系数为准,可能满屏显示,也可能出现空白。视口等于屏幕分辨率,绘制区域不是设计分辨率表示的区域,而是实际的屏幕分辨率,所以写应用程序的时候不能写绝对值坐标。(当然固定的这个边是可以写固定值的)
Director::getInstance()->getWinSize()可得到绘制区域的分辨率,在ResolutionPolicy::NO_BORDER会超过实际分辨率,在ResolutionPolicy::SHOW_ALL会小于实际分辨率,在ResolutionPolicy::EXACT_FIT、ResolutionPolicy::FIXED_xxxxx等于实际分辨率。
Director::getInstance()->getVisibleSize()可得到绘制区域在可视区域的分辨率。
Director::getInstance()->getWinSizeInPixels()可得到绘制区域在OpenGL ES的真实区域的大小。
Director::getInstance()->getVisibleOrigin()可得到可视区域原点在绘制区域的位置,仅当ResolutionPolicy::NO_BORDER的情况下有用。
GLView::getFrameSize()可得到实际屏幕分辨率。Director::convertToUI用于返回一个基于设备UI系统的坐标值。
GLView::setDesignResolutionSize会导致viewport、透视矩阵、观察点位置的重新设置。setViewPortInPoints会将设计分辨率转换为基于屏幕实际像素大小的坐标信息。而透视投影矩阵、观察点的位置都是根据_winSizeInPoints设计的。
原文地址:
http://www.geekfaner.com/cocos2d-x/ReadCocos2dxSourceCode20.html
- Cocos2d-X的多分辨率支持(1)
- Cocos2d-X的多分辨率支持(2)
- [Cocos2D-X官方文档]:多分辨率的支持 分享1
- Cocos2d-x 多分辨率支持
- cocos2d-x 多分辨率支持
- cocos2d-x 多分辨率支持
- Cocos2d-x 多分辨率支持
- Cocos2d-x 多分辨率支持
- [Cocos2D-X官方文档]:多分辨率的支持
- [Cocos2D-X官方文档]:多分辨率的支持
- [Cocos2D-X官方文档]:多分辨率的支持
- [Cocos2D-X官方文档]:多分辨率的支持
- [Cocos2D-X官方文档]:多分辨率的支持
- Cocos2d-x提出了自己的多分辨率支持方案
- [Cocos2D-X官方文档]:多分辨率的支持*
- Cocos2d-x 3.0多分辨率支持方案
- cocos2d-x多分辨率
- Cocos与Cocos2d-x协作教程--多分辨率支持
- Cocos2d-X的shader小实例
- 生产者消费者问题【pv操作】
- 2-2-3 时间类
- 检测图片是否正确加载的js插件-imagesLoaded
- Hadoop2.x 源代码组织结构
- Cocos2d-X的多分辨率支持(1)
- hdoj 1018 Big Number
- EasyHook远程进程注入并hook api的实现
- 第二周 项目三-时间类(二)
- BZOJ-2115-Xor-WC2011
- PHP函数
- 程序猿日常-3
- 构造函数和析构函数概述
- VS2010编译arthurv的C++版OpenTLD