【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏

简介:

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

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

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

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

[director enableRetinaDisplay:YES] 

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

//// Enables High Res mode (Retina Display) on iPhone 4 and maintains low res on all other devices

//	if( ! [director enableRetinaDisplay:YES] )
//		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 ,然后所有搜索如下代码:

UIInterfaceOrientationIsLandscape


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

#elif GAME_AUTOROTATION == kGameAutorotationUIViewController

	//
	// EAGLView will be rotated by the UIViewController
	//
	// Sample: Autorotate only in landscpe mode
	//
	// return YES for the supported orientations
	
	return ( UIInterfaceOrientationIsLandscape( interfaceOrientation ) );


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

return ( UIInterfaceOrientationIsPortrait( interfaceOrientation ) );


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

 










本文转自 xiaominghimi 51CTO博客,原文链接:http://blog.51cto.com/xiaominghimi/657847,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
测试技术 虚拟化 iOS开发
iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone
这篇文章是iOS自动化测试方案的第二部分,详细介绍了在Xcode开发者工具中构建WebDriverAgent(WDA)应用到iPhone的全过程,包括环境准备、解决构建过程中可能遇到的错误,以及最终成功安装WDA到设备的方法。
191 0
iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone
|
3月前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
154 0
|
4月前
|
BI Linux 数据安全/隐私保护
忘了 iOS(iPad、IPhone) 设备上的「屏幕使用时间」密码怎么办?找回屏幕密码
忘了 iOS(iPad、IPhone) 设备上的「屏幕使用时间」密码怎么办?找回屏幕密码
123 0
|
6月前
|
前端开发 iOS开发
input框设置placeholder属性在iOS中显示不完整
input框设置placeholder属性在iOS中显示不完整
79 1
|
7月前
|
存储 Web App开发 Android开发
iOS不支持WebP格式图片解决方案和iPhone 7及其后硬件拍照的HEIC格式图片
iOS不支持WebP格式图片解决方案和iPhone 7及其后硬件拍照的HEIC格式图片
673 1
iOS不支持WebP格式图片解决方案和iPhone 7及其后硬件拍照的HEIC格式图片
|
7月前
|
安全 开发者 iOS开发
iOS16系统手机设置开启开发者模式才能安装ipa包
iOS16系统手机设置开启开发者模式才能安装ipa包
228 1
|
7月前
按钮的image图片是非圆角,直接对UIButton设置圆角,iOS13系统没有圆角效果的问题及解决方案
按钮的image图片是非圆角,直接对UIButton设置圆角,iOS13系统没有圆角效果的问题及解决方案
50 0
|
7月前
|
移动开发 网络协议 Linux
We discovered one or more bugs in your app when reviewed on iPhone and iPad running iOS 14.1
We discovered one or more bugs in your app when reviewed on iPhone and iPad running iOS 14.1
65 0