[cocos2dx 3.0 + xcode]疑难点记录
1: 新项目创建
1.下载最新Python,安装
2.解压引擎包
3.运行终端,切换到引擎目录(直接cd拖动文件夹到光标即可得到路径)
4.按照文档例子:
$ cd cocos2d-x
$ ./setup.py
$ source FILE_TO_SAVE_SYSTEM_VARIABLE
$ cocos new MyGame -p com.your_company.mygame -l cpp -d NEW_PROJECTS_DIR
$ cd NEW_PROJECTS_DIR/MyGame
如果需要安卓平台的话,可以按照cocos IDE的说明文档下载需要的第三方支持,否则一路否即可.
2: 平台不同,项目的退出方式不同
阅读例子代码可以发现,在主动退出的时候,会在end()后面区别平台,如果在IOS平台下要主动调用exit(0),否则退出就会崩溃,在View释放后仍然会有针对该指针的调用.
如果需要在程序退出的时候释放自己的对象,那么在IOS平台下,就要在exit之前释放掉所有的数据.
3: Plugin的使用
cocos自带了对广告,微博等常用的收益,推广渠道进行了插件化封装,提供了HelloPlugin的例子,但是新创建的项目中并没有加入,如果在自己的游戏中不想自己混编,那么直接使用Plugin模块即可,导入方法:
1. Add Files ----> Create folder ref: 注意这里是创建了一个引用,另一个是全拷贝(很蛋疼),直接添加一个项目文件即可,不要全文件夹添加
2. 以广告为例,比如我们要添加admob和flurry,那么需要添加三个库:PluginFlurry,PluginAdmob,PluginProtocol.
3. 进行库链接,PROJECT---TARGET---BUILDPHASE---LINK下面加入这三个库文件
4. 加入广告库依赖的几个framework插件,分别是UIKit,AdSupport,StoreKit.
5. 最重要的一点,在工程的编译设置中,要在link---other linker中加上-ObjC,否则无法实例化广告对象!
4: 蓝色和黄色文件夹:
1. 黄色的为组,编译相关
2: 蓝色的为文件,资源相关,打包会打进去.Resource中的文件夹都应该是蓝色的.
5: 资源不能及时更新的问题:
XCODE调试的时候会出现资源修改,没有同步到模拟器的情况,解决方法(XCODE5.1.1):
Build Settings ---- Build Options --- Scan All Source Files for include --- YES
6: 如何多语言支持
- 右击项目->创建新文件->IOS Resource类型的string文件,命名为InfoPlist
- 点击文件,右边描述栏中的Localizations里选择一个,然后复选框全选
- 在PROJECT的Info-->Localizations中添加其他支持的语言类型
- 这时InfoPlist.string已经变成了下拉式的,每种语言有一个.string文件
- 每个文件中加入:CFBundleDisplayName ="程序名字";
- 点击info.plist,调整里面的默认语言localization native development region
- 在条目上右击,选择show raw key value可以查看这些名字对应的关键字.
7: 发布游戏细则
- 登录GameCenter的证书,添加一个IOS Provisioning Profiles证书,下载到桌面,这个在打包的时候用到.
- 在XCODE中Product-->Scheme-->Edit Scheme,确认Archive的配置为Release.
- 在项目的IOS Target配置中,将BuildSetting->CodeSigning->Release设置为IOS Distribution,Provisioning profile保持None,这个在归档的时候会选择.
- 使用XCODE中的Product-->Archive生成文档,选择好证书后,不要选择第一项直接上传AppStore,那个没有进度显示,上传等死人.选择第二项,生成ipa文件,改名存在桌面上(归档保留下,这个以后留着查崩溃).
- 使用Application Loader进行上传,有进度和当前活动显示,比较直观,不用因为一个错误等待一晚上.
- 验证那里一般不需要多久的时间,等待超过20分钟建议你检查一下(我的WIFI等待4分钟而已),先检查一下上面的2和3,这两个坑一定要提前填平,如果还有问题,度娘吧~我也没遇到.
- 归档很慢,提前看一下文档,特别是plist的配置规范,一定要按照要求,比如版本格式最多三个整形,你如果多了(我就用了4个,1.0.0.1,悲剧了一次),中间.分割.
- 过了验证没有错误,就进入了上传阶段,慢的会显示TCP/UDP检测,不要管,只要你网通着,睡觉吧,会好的.
- 结束,然后等待审核吧~
[cocos2dx 3.0 + xcode]疑难点记录的更多相关文章
- cocos2d-x 3.0 事件分发机制
在cocos2d-x 3.0中一共有五个事件监听器: 触摸事件(EventListenerTouch) 键盘响应事件 (EventListenerKeyboard) 加速器记录事件(EventList ...
- Cocos2d-x 3.0 事件系统【转】
事件系统,是一个软件的核心组成部分.从小处讲它是应用程序内部各模块交互的设计模式,从大处讲,它是软件架构的组成模块.在现代软件开发中,操作系统通常通过一些预定义的事件,告知应用程序发生的一些事情如用户 ...
- cocos2dx 3.0 触摸机制
在cocos2dx 3.0版本号中,废弃了以往2.x版本号的写法,我们先来看一下Layer.h中的一段代码 /* Callback function should not be deprecated, ...
- cocos2d-x 3.0 开发(一) Hello_New_World
1.Previous On 2dx 2dx 的3.0版本是个与以往不同的版本.变化比2dx从1.x 到2.x的变化还要大不少.具体的新功能可以参见:CocoaChina大会见闻——cocos2 ...
- Cocos2d-x 3.0心得(01)-图片载入与混合模式
近期開始用cocos2dx 3.0做东西,略有心(cao)得(dian),略微作下记录吧. v3.0相对v2.2来说,最引人注意的,应该是对触摸层级的优化.和lambda回调函数的引入(嗯嗯.不枉我改 ...
- 升级到cocos2d-x 2.0.2代码差异
来自:http://www.cnblogs.com/TopWin/archive/2012/09/12/2682042.html 近期看cocos2d-x 2.0.2公布后升级了一下.升级后发现又出现 ...
- 8、Cocos2dx 3.0三,找一个小游戏开发3.0存储器管理的版本号
重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27693365 复杂的内存管理 移动设备上的硬件资源十 ...
- 14、Cocos2dx 3.0三,找一个小游戏开发Scene and Layer:游戏梦想
发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30474393 Scene :场景 了解了Director ...
- Cocos2d-x 3.0正式版及android环境搭建
开发环境是:mac + xcode + eclipse ,在win以下的环境和这个都是一样的,唯一不一样的就是环境变量的配置. 以下主要介绍cocos2d-x环境的设置以及android的环境搭建 1 ...
随机推荐
- 1.redis.3.2 下载,安装、配置、使用 - 1
1.下载: 2.使用: 挤压之后,使用cmd执行,如下图 redis-server--service-installredis.windows.conf,执行安装 提示成功之后,剩下就好办了, 这 ...
- T-SQL中的透视和逆透视
透视 今天抽一点时间来看看透视和逆透视语句,简单的说就是行列转换.假设一个销售表中存放着产品号,产品折扣,产品价格三个列,每一种产品号可能有多种折扣,每一种折扣只对应一个产品价格.下面贴出建表语句和插 ...
- swift 截取字符串
- ul ol dl
1.ul是无序列表,也就是说没有排列限制可以随意加li: <ul> <li>可以随意放置</li> <li>可以随意放置</li> < ...
- JavaScript各种遍历方式详解
为了方便例子讲解,现有数组和json对象如下 var demoArr = ['Javascript', 'Gulp', 'CSS3', 'Grunt', 'jQuery', 'angular']; v ...
- cmd 进入不同的驱动盘及上下级目录
“开始”=>“运行”,输入”cmd“,此时进入的是系统管理员的等待命令 如果想进入相应的盘符,如 d 盘,则输入 cd d:\,然后再次输入 d: 即可进入 d: 盘,输入两次相当于第二在是询问 ...
- 零售ERP开发(一)
随着企业信息化不断提高,各种企业管理系统应用而生:怎么才能开发一套简洁.易用.功能健全的管理系统,尤其是能够帮助企业做出重大策略的系统,一致是我们追求的目标.近些年,接触的Erp系统主要包括国内比较知 ...
- React 学习资源分享 菜鸟刚学5天 博客写的不多 不懂写博客的套路
http://www.ruanyifeng.com/blog/2015/03/react.html 首先个人强烈推荐 阮一峰的React基础 细细过一遍,看得出大师的用心良苦 然后就开始看书般的过ht ...
- __name__ == '__main__'的作用
当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个 ...
- java printf与println的区别
Java中的println和printf的区别在于:println是用于输出参数内容,然后换行,其参数个数固定为一个.printf是用于输出带各种数据类型的占位符的参数,其参数个数是不定的.