和屌丝一起学cocos2dx-屏幕设置
2015-07-17 10:10
549 查看
【一】:设置啥
首先是换竖屏,然后还有个比较重要的,就是自适屏。
【二】:横竖换屏
1.打开main.cpp文件
找到eglView->setFrameSize(320, 480);,这里设置成你要的分辨率,用于开发。
![](http://gl.paea.cn/file/upload/image/20150209/1423473937273482.png)
2.生成android项目后修改AndroidManifest.xml文件
android:screenOrientation="landscape"横屏显示(默认)
android:screenOrientation="portrait"竖屏显示
![](http://gl.paea.cn/file/upload/image/20150209/1423473937303735.png)
【三】:自适屏
这里算是个难点,应为android的开源,机型千奇百怪,我们没有办法去适应所有的屏幕,选择的方案也很多。
1.针对每个分辨率做一套方案
2.cocos2dx2.0.4以后提供的缩放方案
这么看来第一种是绝对没有问题的,但是对一般的开发者来说,工程量太大,所以第二种相对更适合。
使用方法:
1.打开AppDelegate.cpp文件。
找到pDirector->setOpenGLView(CCEGLView::sharedOpenGLView());
在这行的下面写(注意位置不能错,不然有问题)
CCEGLView::sharedOpenGLView()->setDesignResolutionSize(480, 800, kResolutionNoBorder);
这里我们使用的是setDesignResolutionSize函数,他的三个参数分别是(设计宽,设计高,缩放方式)。该函数会自动按设计宽高和缩放方式适应手机屏幕。
缩放方式:
kResolutionExactFit //自动缩放宽高全部显示(会变形)
kResolutionNoBorder //不留黑边全屏展示(不变形,但是长的那边会被裁减)
kResolutionShowAll //全部展示不裁剪(可能会留黑边)
【三】:坐标
我们坐标需要按照屏幕的实际大小来,所以也要使用相对坐标。
//获取可视区域大小(用户手机分辨率)
CCDirector::sharedDirector()->getVisibleSize();
//获取可是区域左下角坐标
CCDirector::sharedDirector()->getVisibleOrigin();
这个是基本元素,之后,网上有很多说分9点来确定相对坐标系,也是靠他们俩来拼合的。
![](http://gl.paea.cn/file/upload/image/20150209/1423473937496715.png)
【四】:缩放
现在新版本缩放已经自动了。nothing to do。
From: http://gl.paea.cn/cocos2d-x/content/2015/02/09/33.html
首先是换竖屏,然后还有个比较重要的,就是自适屏。
【二】:横竖换屏
1.打开main.cpp文件
找到eglView->setFrameSize(320, 480);,这里设置成你要的分辨率,用于开发。
![](http://gl.paea.cn/file/upload/image/20150209/1423473937273482.png)
2.生成android项目后修改AndroidManifest.xml文件
android:screenOrientation="landscape"横屏显示(默认)
android:screenOrientation="portrait"竖屏显示
![](http://gl.paea.cn/file/upload/image/20150209/1423473937303735.png)
【三】:自适屏
这里算是个难点,应为android的开源,机型千奇百怪,我们没有办法去适应所有的屏幕,选择的方案也很多。
1.针对每个分辨率做一套方案
2.cocos2dx2.0.4以后提供的缩放方案
这么看来第一种是绝对没有问题的,但是对一般的开发者来说,工程量太大,所以第二种相对更适合。
使用方法:
1.打开AppDelegate.cpp文件。
找到pDirector->setOpenGLView(CCEGLView::sharedOpenGLView());
在这行的下面写(注意位置不能错,不然有问题)
CCEGLView::sharedOpenGLView()->setDesignResolutionSize(480, 800, kResolutionNoBorder);
这里我们使用的是setDesignResolutionSize函数,他的三个参数分别是(设计宽,设计高,缩放方式)。该函数会自动按设计宽高和缩放方式适应手机屏幕。
缩放方式:
kResolutionExactFit //自动缩放宽高全部显示(会变形)
kResolutionNoBorder //不留黑边全屏展示(不变形,但是长的那边会被裁减)
kResolutionShowAll //全部展示不裁剪(可能会留黑边)
【三】:坐标
我们坐标需要按照屏幕的实际大小来,所以也要使用相对坐标。
//获取可视区域大小(用户手机分辨率)
CCDirector::sharedDirector()->getVisibleSize();
//获取可是区域左下角坐标
CCDirector::sharedDirector()->getVisibleOrigin();
这个是基本元素,之后,网上有很多说分9点来确定相对坐标系,也是靠他们俩来拼合的。
![](http://gl.paea.cn/file/upload/image/20150209/1423473937496715.png)
【四】:缩放
现在新版本缩放已经自动了。nothing to do。
From: http://gl.paea.cn/cocos2d-x/content/2015/02/09/33.html
相关文章推荐
- 基于cocos2dx的飞机大战学习[四]-添加英雄子弹
- Cocos2d-x 3.2 Lua演示样本CocosDenshionTest(音频测试)
- 基于cocos2dx的飞机大战学习[三]-为英雄添加飞行帧动作并控制飞机移动
- Cocos2d-JS开发环境搭建
- cocos2d-js v3.6.1 扑克弹出,缩回例子
- Cocos2d-x 脚本语言Lua使用
- 初学cocos2d遇到的问题,VS找不到 源 文件(头文件)
- cocos2D-x初探学习笔记(32)-cocos2d-x & javascript跨平台初体验
- cocos2D-x初探学习笔记(31)2.1新特性CCPhysicsSprite
- cocos2d-x初探学习笔记(30)2.1新特性之CCClippingNode
- cocos2d-x初探学习笔记(29)-cocosBuilder
- cocos2d-x初探学习笔记(28)--CCTMXTiledMap
- cocos2d-x初探学习笔记(27)--CCMutableArray
- cocos2d-x初探学习笔记(26)--其他(游戏存档,切换高清,图片处理)
- cocos2d-x初探学习笔记(25)--CCRenderTexture
- cocos2d-x初探学习笔记(24)--音乐音效
- cocos2d-x初探学习笔记(23)--其他(屏幕旋转,schedule,系统语言)
- cocos2d-x初探学习笔记(22)--动画类
- cocos2d-x初探学习笔记(21)--精灵类
- cocos2d-x初探学习笔记(20)--物理引擎box2d(2)