当前位置: 代码迷 >> Iphone >> (转)开启高清(960*640)模式有关问题与解答、图片适配以及设置iphone横竖屏
  详细解决方案

(转)开启高清(960*640)模式有关问题与解答、图片适配以及设置iphone横竖屏

热度:99   发布时间:2016-04-25 06:21:45.0
(转)开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏

?

Himi 原创,转载请注明!

?

原文地址:http://blog.csdn.net/xiaominghimi/article/details/6748372

?

? ? ?最近书已经进入印刷了,预订签名的童鞋没想到会上三位数,非常感谢大家一如既往的支持与鼓励;

? ? ?今天为大家介绍利用cocos2d开发中一些细节的三个问题;

? ? ?首先介绍第一点:如何开启高清模式,大家都知道iphone4的分辨率是960*640,比之前的480*320正好大了一倍,那么如果想测试在高清模式下的游戏效果的话,那么首先大家肯定知道先设置iOS模拟器为iphone(Retina)模式,但是仅仅设置这里的童鞋肯定会发现问题,因为运行后会发现控制台打印出来的分辨率仍然是480*320,这样设置后只是让模拟器体积放大一倍,但是分辨率照旧没变,其实这是因为cocos2d引擎的问题,你既然使用cocos2d引擎就应该知道当程序一运行后整个控制权都交给了cocos2d,那么设置高清模式也应该从cocos2d中进行设置开启;开启方法很easy,

? ? ? ?首先打开你的 ? AppDelegate.m(这里我用的cocos2d1-1.0.0版本默认创建cocos2d项目自动生成的类);OK,然后手动搜下如下代码:

?

  1. [director?enableRetinaDisplay:YES]???


?

OK,搜到的代码完整如下;

?

?

  1. //??//?Enables?High?Res?mode?(Retina?Display)?on?iPhone?4?and?maintains?low?res?on?all?other?devices??
  2. //??if(?!?[director?enableRetinaDisplay:YES]?)??
  3. //??????CCLOG(@"Retina?Display?Not?supported");??


?

?

?

? 没错,这几行被注释掉了,OK,将注释去掉,完成开启高清模式;将iOS模拟器设置为iphone(Retina),然后再运行一下项目,分辨率就成了960*640;


? ? ??OK,紧接着要说图片适配的问题:

? ? ? 做iOS的童鞋们在iOS4之前都应该没有所谓适配的概念(抛开ipad不说),那么如今iOS4出来了,iphone就有了分辨率大小之分,那么程序中所用的图片也对应

需要进行设计;其实apple早已为开发者考虑到了,所以提供了很方便的方式:


? ? 假设你程序中使用了icon.png这张图,那么为了能适配所有的机型,那么你需要在你的项目中为icon.png添加一个高清的版本,@2x,“icon@2x.png”,那么在程

序在iphone4中进行运行的时候就会自动索引@2x的对应图片,那么对此Himi要提醒重要的一点:


? ? 以上@2x的方式是抛开cocos2d,单单说的iOS的系统API,那么如果在cocos2d中使用的图片也类似需要添加一个高清的版本,-hd,“icon-hd.png”;这里一定不能

搞错;


? ? 最近申请IPD可谓困难重重,不过这几天就应该申请下来了;这几天里也购买了一个图片打包工具“TexturePacker”,做cocos2d的肯定不陌生,没错,此编辑器主要的作用就是将大部分图片打包,省包大小、省运行内存、提高运行效率等优点,这里不详细介绍,大家可以自行百度下;那么这里说下"TexturePacker"有二个很重要的功能,其一是自动为你的图片打包之余添加一个@2x或者-hd版本的图片包提供适配使用,其二是能将图片打包成pvr、与pvr.ccz格式,相当好用,此工具这里Himi推荐,$19+ 不算贵;(但是提醒大家购买的时候一定要使用$进行支付,因为人家不要RMB,害得好多次购买失败,悲剧);


这里顺便再推荐两款编辑器,(Himi正在购买中)

1. ParticleDesigner(粒子特效编辑器)http://particledesigner.71squared.com/ ?

?2.physicsEditor(物理编辑器)http://www.physicseditor.de/features/


? ? 那么闲话不多说了,关于推荐的编辑器大家应该很熟悉了,不熟悉的可以自定打开连接,下面讲解如何设置iphone运行程序横竖屏问题;

? ? cocos2d引擎中默认是横屏,在1.0.0版本中框架有所变化,所以这里我讲解的设置方法是针对cocos2d -1.0.0版本而言的;

? ? 打开 ?RootViewController.m ,然后所有搜索如下代码:

  1. UIInterfaceOrientationIsLandscape??

?

? 然后看到的完整代码如下:

  1. #elif?GAME_AUTOROTATION?==?kGameAutorotationUIViewController??
  2. ????//??
  3. ????//?EAGLView?will?be?rotated?by?the?UIViewController??
  4. ????//??
  5. ????//?Sample:?Autorotate?only?in?landscpe?mode??
  6. ????//??
  7. ????//?return?YES?for?the?supported?orientations??
  8. ??????
  9. ????return?(?UIInterfaceOrientationIsLandscape(?interfaceOrientation?)?);??


?

???将最后return的修改成如下代码即可竖屏:

?

  1. return?(?UIInterfaceOrientationIsPortrait(?interfaceOrientation?)?);??


?

?

? ? ? ? ???OK,此章节先介绍到这里,

  相关解决方案