Cocos2dx屏幕匹配

思路

1)首先是横屏改为竖屏,因为android项目的screenOrientation默认为横屏;

2)设置自适应屏。

【二】:横竖换屏

1、Cocos2d-x2.x版,打开main.cpp文件

找到eglView->setFrameSize(320,480);,这里设置成你要的分辨率,用于开发。

Cocos2d-x3.x版,则打开AppDelegate.cpp文件,在applicationDidFinishLaunching()里设置分辨率:glView->setFrameSize(width,height);

2、生成android项目后修改AndroidManifest.xml文件

android:screenOrientation="landscape"横屏显示(默认)

android:screenOrientation="portrait"竖屏显示

【三】:自适应屏幕

这里算是个难点,应为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();//可视区域左下角坐标

时间: 2024-10-17 05:20:15

Cocos2dx屏幕匹配的相关文章

CoCos2d-x屏幕分辨率设置

CoCos2d-x屏幕分辨率设置 接下来是讲述CoCos2d-x对屏幕分辨率设置的问题:主要是 setFrameSize.setFrameZoomFactor 和 setDesignResolutionSize 函数的使用. 1 . setFrameSize这个函数是设置移动设备屏幕分辨率,一般与setDesignResolutionSize的设置一致. 2 . setFrameZoomFactor 调用这个函数是因为有的移动设备屏幕分辨率非常大,比如ipad3.太大的话在电脑上看不全了,所以用

cocos2dx 屏幕适配策略

cocos2dx的常用函数: CCEGLView::sharedOpenGLView()->setDesignResolutionSize() //设计分辨率大小(即开发时为基准的屏幕分辨率) CCEGLView::sharedOpenGLView()->setFrameSize()    //设置win32模拟器的分辨率 CCEGLView::sharedOpenGLView()->getFrameSize()    //屏幕分辨率,实际的硬件参数 3种填充策略: kResolutio

cocos2dx屏幕适配方案

我们在利用cocos2dx来开发游戏时,在开始时就不可避免的会遇到屏幕适配问题,来使我们的游戏适应移动终端的各种分辨率大小.目前,大家采用的屏幕适配方案不一,网上的资料也比较丰富,下面我也将自己使用的方案做下记录.由于我的Mac系统下只有一个分辨率的虚拟机,所以这次使用的是VS2010,使用的是cocos2dx2.2.2版本. 我这里采用的方案是为不同分辨率的屏幕设置不同资源目录的方案,根据我们的需求需要准备多套资源,但是由于部分分辨率较为接近,所以也不必为所有分辨率都去单独准备资源,可以几种分

cocos2d-x屏幕适配原理分析

cocos2d-x作为著名的cocos2d游戏开发框架的C++实现者,最近一年发展迅猛.越来越多的app使用它实现快速多平台部署,从最初的ios,android,win32等到新近的html5,实现移动,客户端到浏览器全覆盖,不得了~~ 开发移动应用的屏幕适配和爱情一样是一个从洪荒时代就存在的永恒命题,根本目的是实现在不同设备上用户体验的统一. cocos2d-x在cocos2d-2.0-x-2.0.4版本之前没有提供解决的方案,开发者只能自己解决,其中一些方法见 这里从2.0-x-2.0.4开

Cocos2D-X屏幕适配新解

” 阅读器 为了适应移动终端的各种分辨率大小,各种屏幕宽高比,在 Cocos2D-X(当前稳定版:2.0.4) 中,提供了相应的解决方案,以方便我们在设计游戏时,能够更好的适应不同的环境. 而在设计游戏之初,决定着我们屏幕适配的因素有哪些?简而言之只有两点:屏幕大小和宽高比.这两个因素是如何影响游戏的呢? •屏幕大小: 从小分辨率 480×320 到 1280×800 分辨率,再到全高清 1080p,从手机到平板,还有苹果设备的 Retina屏,这么多不同的分辨率,而且大小差距甚大,不可能做到一

cocos2d-x 屏幕自适配

为什么屏幕适配,暂且不说,先看下目前手机的屏幕分辨率,如下: 480*800 // 比如windows phone以及中高端Android机 480*854 //  WFVGA,是480*800的加长版 540*960 // HTC 640*960        // 经典版的iphone 1136*960           // iphone5 1280*720           // 传说中的HD 1280*800 // 三星的9220 1024*768 // ipad 如果我想让我的游

Cocos2d-x 屏幕适配解决方案

1. setDesignResolutionSize使用方法及主要的三种适配模式 在cocos2d-x 2.0里,提供了一个叫做setDesignResolutionSize的方法,直接一次设置就可以自动适配各种分辨率.这个方法的注释如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 enum ResolutionPolicy { kResolutionExactFit , kResolutionNoBorder , kResolutio

[cocos2d-x]屏幕自适应解决的方法

近期在写一个项目,要求pc,ipad,andriod平台上都能够执行,所以选择用cocos2d-x来开发. 我们的资源大小是1024*768的,在pc上和苹果上都是没有问题的,但是到了andriod上.问题就来了.andriod上有有各种各样的分辨率.那么程序在全部的分辨率上都能够正常执行显示呢?针对这个问题,我想了好几种方法: (1)弄多套资源 由于这个项目里面有非常多动画资源,假设要弄多套资源,工作量比較大,项目时间比較紧,不同意用这套方案 (2)cocos2d-x里面有一个方法 pDire

cocos2dx 屏幕分辨率

http://cn.cocos2d-x.org/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework/native/v3/multi-resolution/zh.md Director::getInstance()->getOpenGLView()->getFrameSize() //屏幕分辨率 首先,获取屏幕分辨率,为之后要使用什么资源做准备 FileUtils::getInstance()-