【Cocos2d-x】新手自学(十)分辨率自适应!一句话搞定IOS android windows!!

原创 2012年10月17日 09:17:11

    前几天我用在windows下面写好的程序..忽然需求要移植成安卓和ios平台.于是遇到了各种麻烦..最棘手的一个就是分辨率的自适应,我工程的图片用的都是800x480的..


可是iphone上面的分辨率是480x320...这可头疼了..

于是我找了很多资料后.发现有一个很简单的方法.但是需要:



需要新版本的cocos2d-x  我是直接从2.0.1升级到2.0.3版本..(请用cocos2d-x2.0.3版本)

AppDelegate.cpp

bool AppDelegate::applicationDidFinishLaunching()
{
    // initialize director
    CCDirector *pDirector = CCDirector::sharedDirector();
    pDirector->setOpenGLView(CCEGLView::sharedOpenGLView());

    // enable High Resource Mode(2x, such as iphone4) and maintains low resource on other devices.
//     pDirector->enableRetinaDisplay(true);
	CCEGLView::sharedOpenGLView()->setDesignResolutionSize(800, 480,kResolutionShowAll);

    // turn on display FPS
    pDirector->setDisplayStats(false);

    // set FPS. the default value is 1.0/60 if you don't call this
    pDirector->setAnimationInterval(1.0 / 60);

    // create a scene. it's an autorelease object
    CCScene *pScene = HelloWorld::scene();

    // run
    pDirector->runWithScene(pScene);
    return true;
}

上面的代码中..有下面一句是被注释掉的..老版本的cocos2d-x也有这句.但是新版本的多了一个参数.多的那个参数是什么意思呢?
CCEGLView::sharedOpenGLView()->setDesignResolutionSize(800, 480,kResolutionShowAll);



是一个枚举..注释说明了一切..大概意思就是.
选择kResolutionExactFit则会拉伸至充满整个屏幕
选择kResolutionShowAll则不会拉伸,但是会留上下等宽的黑边.

enum ResolutionPolicy
{
    // The entire application is visible in the specified area without trying to preserve the original aspect ratio. 
    // Distortion can occur, and the application may appear stretched or compressed.
    kResolutionExactFit,
    // The entire application fills the specified area, without distortion but possibly with some cropping, 
    // while maintaining the original aspect ratio of the application.
    kResolutionNoBorder,
    // The entire application is visible in the specified area without distortion while maintaining the original 
    // aspect ratio of the application. Borders can appear on two sides of the application.
    kResolutionShowAll,
    
    kResolutionUnKnown,
};

有人一定会想,,那这样的话..那些判断矩形,触碰之类的会不会偏离?答案是不会.等比缩放包括所有的组件..所有大家放心的使用..



分辨率自适应!一句话搞定IOS android windows!!

前几天我用在windows下面写好的程序..忽然需求要移植成安卓和ios平台.于是遇到了各种麻烦..最棘手的一个就是分辨率的自适应,我工程的图片用的都是800x480的.. 可是iphone...
  • a402813378
  • a402813378
  • 2013年09月05日 19:16
  • 265

Android 多分辨率自适应总结

这周的工作对Android项目多分辨率自适应进行调整。故对这方面知识进行不断的尝试学习。Android项目刚开始做的时候一定养成编程习惯,所有资源调用放在value中。统一命名以及管理。总结了以下内容...
  • qq_16064871
  • qq_16064871
  • 2015年07月26日 09:02
  • 3721

Android 自适应不同分辨率屏幕

前几天,面试的时候,有问道关于如何自适应不同分辨率屏幕的问题。当时也是一知半解,今天索性看了很多资料,好好的总结了下。     首先解释几个基本的概念:     in:表示英寸,是屏幕的物理尺寸。...
  • biangren
  • biangren
  • 2012年09月23日 12:09
  • 7568

Cocos2d-x初学者教程

Cocos2d-x是一款快速、强大、易用的开源2D游戏引擎。 它与苹果的Sprit Kit略像,但又有一大优势——跨平台。 这意味着,开发者只需要写一个版本的代码就可以开发出能在iOS、Andro...
  • just_do_it2009
  • just_do_it2009
  • 2017年06月14日 10:35
  • 721

使用Cocos2d-x 3.2和Cocos Studio做屏幕适配方案总结

常规策略: 今天研究了一下屏幕适配导致的缩放和展示不全的问题(黑边的方案直接淘汰)。细想一下,美工给我们一张图(假设这张图width足够长),在不同的分辨率上我们应该如何对其展示?肯定不可能在所...
  • haihsl123456789
  • haihsl123456789
  • 2014年11月20日 15:04
  • 914

cocos2d-x 3.0 分辨率自适应方案

1. 简介     对于cocos2dx的分辨率方案原来一知半解,终于今天有机会给搞清楚了。在cocos2d-x中的几种分辨率: 1.1 Framebuffer分辨率(其大小依赖于硬件设备)     ...
  • MyArrow
  • MyArrow
  • 2014年03月05日 14:06
  • 17631

Cocos2d-x 分辨率自适应解决方案

近来将引擎版本从2.0.4升级到2.1.5版本,其实是2.1.5b(带有Cocostudio解析库的版本)。    原先的自适应方案在Y轴上有一些偏差,特别是当前分辨率与设计分辨率相差很大时,Y轴上还...
  • alex_my
  • alex_my
  • 2013年09月11日 18:51
  • 1811

cocos2d-x分辨率自适应

///////////////////////////分辨率自适应/////////////////////////////////////////////////////////// // 选择k...
  • hayaceo
  • hayaceo
  • 2013年12月23日 17:07
  • 570

HTML分辨率自适应

div 分辨率自适应 html,body{height:100%; width:100%; overflow:hidden; margin:0; padding:0;} .main{width:...
  • xxgxgx
  • xxgxgx
  • 2015年08月25日 17:37
  • 2008

Android自适应不同屏幕几种方法

由于Android设备的屏幕尺寸、分辨率差别非常大,如果希望我们的应用能够在不同屏幕尺寸或分辨率的Android设备上运行,即更换Android设备后界面和字体不会因此变得混乱,则需要考虑屏幕的自适应...
  • u012637501
  • u012637501
  • 2015年06月24日 10:50
  • 5119
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Cocos2d-x】新手自学(十)分辨率自适应!一句话搞定IOS android windows!!
举报原因:
原因补充:

(最多只允许输入30个字)