【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,如需转载请自行联系原作者
目录
相关文章
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
575 0
|
前端开发 iOS开发
input框设置placeholder属性在iOS中显示不完整
input框设置placeholder属性在iOS中显示不完整
207 1
|
安全 开发者 iOS开发
iOS16系统手机设置开启开发者模式才能安装ipa包
iOS16系统手机设置开启开发者模式才能安装ipa包
749 1
|
设计模式 监控 前端开发
深入解析iOS中的并发编程模式
【4月更文挑战第20天】 在当今移动应用开发中,提升程序的响应性和性能是至关重要的。特别是在iOS平台上,合理利用多线程和并发编程技术可以显著改善用户体验。本文旨在探讨几种在iOS开发中广泛使用的并发编程模式,包括线程、GCD(Grand Central Dispatch)、Operation Queues以及异步设计模式等。通过对这些技术的深入分析与比较,我们不仅将揭示各自的优势和潜在缺陷,还会展示如何结合它们以解决实际开发中遇到的并发挑战。
按钮的image图片是非圆角,直接对UIButton设置圆角,iOS13系统没有圆角效果的问题及解决方案
按钮的image图片是非圆角,直接对UIButton设置圆角,iOS13系统没有圆角效果的问题及解决方案
143 0
|
存储 数据安全/隐私保护
苹果手机如何设置邮箱
苹果手机如何设置邮箱
471 0
|
调度 iOS开发 开发者
iOS 中的并发编程模式:理解 GCD 和 Operation Queues
【4月更文挑战第19天】 在现代 iOS 应用开发中,有效地管理线程和并发是至关重要的。为了确保用户界面的流畅性和后台任务的高效运行,开发者需要掌握并发编程技术。本文深入探讨了两种主要的并发模式:Grand Central Dispatch (GCD) 和 Operation Queues。我们将分析它们的工作原理,比较它们的特点,并通过实际代码示例说明如何在 iOS 应用中实现高效的并发处理。通过本文,读者将获得在 iOS 平台上进行多线程开发的实用知识,以及如何根据不同的应用场景选择最合适的并发工具。
|
API 开发工具 iOS开发
在应用研发平台EMAS中,ios的推送有没有办法在app端设置在收到通知后是否展示的逻辑
在应用研发平台EMAS中,ios的推送有没有办法在app端设置在收到通知后是否展示的逻辑
161 1
|
编解码 测试技术 iOS开发
iPhone 屏幕尺寸和开发适配
【10月更文挑战第23天】iPhone 的屏幕尺寸变化给开发者带来了一定的挑战,但也为创新提供了机遇。通过深入了解不同屏幕尺寸的特点,遵循适配原则和策略,运用合适的技巧和方法,我们能够为用户提供在不同 iPhone 机型上都具有良好体验的应用。在未来,随着技术的不断进步,我们还需要持续学习和适应,以满足用户对优质应用体验的不断追求。