[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 ...
随机推荐
- SQL SERVER 高级编程 - 自定义函数 拾忆
每个人都很忙,但是花10分钟复习下,总结下基础东西还是很有益处的. 背景: 总结一句,使用简便,还能递归,是的SQL更简洁,相对比一大堆的关联语句,而且关联一大堆还不一定实现特定功能.而且共用部分可以 ...
- A题笔记(1)
#include <stdlib.h> exit(); #include <stdlib.h> 是 exit(0) 必须的头文件 否则会出现 exit was not decl ...
- xml处理相关文章收藏
XPath语法 在C#中使用XPath示例:http://blog.csdn.net/yukaizhao/article/details/6630613 .Net那点事儿系列:C#操作Xml:通过Xm ...
- 【转自CSDN】深入 Microsoft.VisualBasic.Strings.StrConv 簡繁轉換
深入 Microsoft.VisualBasic.Strings.StrConv 簡繁轉換 昨天又遇到一個簡繁轉換的需求, 雖然這個問題以前已經處理過了, 但是以前是用自己建立的 b52gb 和 gb ...
- obj.onclick=fnClick与obj.onclick=fnClick()的区别
先说结论:这段代码浏览器会报错,提示 aDiv[this.index] is undefined 所以正确的写法应该是去掉(),直接写为function fnClick. 不加括号的话,相当于指定 ...
- jax-ws实现WebService
关于WebService有很多框架了,CXF,Spring自己的webservice等等,因为cxf实际也是依赖spring的servlet,这里说明一下jax-ws,使用原生的servlet实现. ...
- pgsql与mysql 下 varchar类型的数字文本的排序 区别
两者都有cast函数,但使用方法完全不同. 1.在mysql中,cast( value as type) 将value的数据类型转换成type类型,其type可以为 二进制,同带binary前缀的效果 ...
- CSS2简写代码(优化)
[1]如果CSS属性值为0,那么你不必为其添加单位(如:px/em): 下面是你可能的写法: padding: 10px 5px 0px 0px; 但是你可能这样写: padding: 10px 5p ...
- Java反射的理解
反射的作用: 1.运行时检查类的结构 2.运行时更改类的字段值 3.调用类的方法 准备知识: Class类:虚拟机为每一个对象保存的一份对象所属类的清单: static Class for ...
- http server v0.1_mime.c
#include <string.h> #include "mime.h" static STR_MIME_MAP mime_map[]= { MIME_MAP(MIM ...