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

本文详细介绍了在使用Cocos2d引擎开发游戏中如何开启高清模式,适配不同分辨率设备的图片,以及如何在iOS应用中设置横竖屏模式。通过设置AppDelegate.m文件中的代码来启用高清显示,为图标添加@2x版本以实现跨设备适配,并调整RootViewController.m文件以实现竖屏运行。同时,推荐了用于图片打包的TexturePacker工具,以及两款编辑器ParticleDesigner和physicsEditor,帮助开发者更高效地进行游戏开发。

今天为大家介绍利用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
2
3
//  // 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 ,然后所有搜索如下代码:

1
UIInterfaceOrientationIsLandscape
1
2
3
4
5
6
7
8
9
#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的修改成如下代码即可竖屏:

1
return ( UIInterfaceOrientationIsPortrait( interfaceOrientation ) );

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


根据原作 https://pan.quark.cn/s/459657bcfd45 的源码改编 Classic-ML-Methods-Algo 引言 建立这个项目,是为了梳理和总结传统机器学习(Machine Learning)方法(methods)或者算法(algo),和各位同仁相互学习交流. 现在的深度学习本质上来自于传统的神经网络模型,很大程度上是传统机器学习的延续,同时也在不少时候需要结合传统方法来实现. 任何机器学习方法基本的流程结构都是通用的;使用的评价方法也基本通用;使用的一些数学知识也是通用的. 本文在梳理传统机器学习方法算法的同时也会顺便补充这些流程,数学上的知识以供参考. 机器学习 机器学习是人工智能(Artificial Intelligence)的一个分支,也是实现人工智能最重要的手段.区别于传统的基于规则(rule-based)的算法,机器学习可以从数据中获取知识,从而实现规定的任务[Ian Goodfellow and Yoshua Bengio and Aaron Courville的Deep Learning].这些知识可以分为四种: 总结(summarization) 预测(prediction) 估计(estimation) 假想验证(hypothesis testing) 机器学习主要关心的是预测[Varian在Big Data : New Tricks for Econometrics],预测的可以是连续性的输出变量,分类,聚类或者物品之间的有趣关联. 机器学习分类 根据数据配置(setting,是否有标签,可以是连续的也可以是离散的)和任务目标,我们可以将机器学习方法分为四种: 无监督(unsupervised) 训练数据没有给定...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值