[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 ...
随机推荐
- jsp - 引用 jar包.
在jsp中使用不同的方式引用jar,准备的工作也不同.我接触过的有两种:1)直接在jsp页面中引用;2)在src下的java类中引用,然后在jsp中调用java类. 1)直接引用:可以将jar包丢到W ...
- SVM(支持向量机)算法
第一步.初步了解SVM 1.0.什么是支持向量机SVM 要明白什么是SVM,便得从分类说起. 分类作为数据挖掘领域中一项非常重要的任务,它的目的是学会一个分类函数或分类模型(或者叫做分类器),而支持向 ...
- 一个简单的Hibernate工具类HibernateUtil
HibernateUtil package com.wj.app.util; import org.hibernate.Session; import org.hibernate.SessionFac ...
- angularJs 页面筛选标签小功能
页面html: <div class="bar bar-calm bar-header"> <div class="title">新闻分 ...
- hibernate面试笔记
Hibernate使用Java 反射机制 而不是字节码增强程序来实现透明性 如果JDBC代码写的完美,优化做好,那么JDBC效率是最高的.但是,实际开发中非常不现实,对程序员要求太高.一般情况下,hi ...
- 使用jQuery播放/暂停 HTML5视频
文章来自:http://blog.okbase.net/jquery2000/archive/4485.html 我尝试用jQuery控制HTML5视频,两个视频分别在两个tab中,我希望点中tab后 ...
- Spring MVC源码分析(续)——请求处理
转自:http://blog.csdn.net/shi1122/article/details/8041017 (转移位置了,时光隧道:http://www.jmatrix.org/spring/50 ...
- 高性能页面加载技术(流水线加载)BigPipe的C#简单实现(附源码)
一,BigPipe简介 BigPipe是一个重新设计的基础动态网页服务体系.大体思路是,分解网页成叫做Pagelets的小块,然后通过Web服务器和浏览器建立管道并管理他们在不同阶段的运行.这是类似于 ...
- 【Java】java基本知识
1.int与Integer的区别 int是基本数据类型,Integer是一个引用数据类型. e.g: int num = 100; // 不是对象 Integer i = 100; // 是对象 // ...
- call和apply还有bind
有图有真相 function myfun1(){ //这是私有属性 var private1 = "这是私有属性1"; var privateMethod = function() ...