| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 【iOS】集成CocosCreate导出的项目 -> 正文阅读 |
|
[游戏开发]【iOS】集成CocosCreate导出的项目 |
背景由于现实需求,需要将多个h5的Cocos2d-x,转变为原生后,再集成进现有项目。 参考如果是通过新建的空工程来集成CocosCreate导出的项目(后面简称Cocos项目),可以直接参考 《CocosCreator导出的iOS项目》 ,对这篇参考文档简单那总结如下:
上述文档中做了详尽的描述与截图,此处不再复述,以下仅做不同之处的记录。 不同之处这是集成到现有项目中,不是新建的空工程; 此次集成多个Cocos项目。 编译问题由于目的项目是比较复杂的,在按照一般步骤来集成时在编译过程中一直失败,所以在此记录下一些典型的错误类型,以便需要时参考。当然,这些问题都是在特定项目中出现的,换个项目可能就不存在或者导致出现的原因不一样了。 错误1 Swift Compiler Error: unknown type name uint32_t 这个编译错误,是cocos2d-x的位置引起的。原先将其放置在与工程文件同一目录下,将其移到工程文件上一级后就ok了。 错误2 import <string> - 'string' file not found 这个编译错误出现在引入cocos项目中的文件导致的,比如#import "cocos2d.h" cocos项目中的文件直接或间接的引入了c++的文件和库,一般情况下Compile Sources As这个编译选项默认一般是According to File Type,这就需要让让编译器知道引入文件要通过c++类型的编译器来编译此文件。 可以通过修改Compile Sources As这个配置来实现,如果修改后还能编译成功的话; 修改源文件的文件名的后缀,比如TestViewController.m中引入了#import "cocos2d.h",可以将其文件名修改为TestViewController.mm 集成问题文件名称相同问题的解决 由于cocos create导出的项目,文件名称之类的都是相同的,导致无法直接的将2个cocos项目直接简单的引入现有项目中。这就需要在导出时进行配置,在文件名称后加上哈希值后以进行区分。然后将各自目录下的文件复制到对应的目录中去,这样就能各自进行区分,且不会相互覆盖。 cocos2d-x引擎的使用 在导出的cocos项目示例中,在AppController.mm文件中对游戏引擎进行了实例化,可知,这是一个单例模式。在笔者的集成过程中,尝试了实例化2个引擎分别加载不同功能,发现并不能达到目的。由此可以推测,一个项目中不能有多个引擎实例。 在cocos项目中,有名称为Appdelegate.cpp的文件(插一句,这文件名一般在我们的项目中有了,所以可以修改这个文件名),其中有加载js的功能,比如: jsb_run_script("main.js"); 这行代码就是加载目标项目的,如果要加载不同的项目,只需要传入特定的js文件,然后执行即可,这样就可以令cocos2d-x引擎执行不同的功能。 当将js文件做为参数传入后,再调用: //run the cocos2d-x game scene app->start(); 这样就可以在不同的功能间进行切换。 总结至此,这篇文章基本就把重点的内容写完了,集成到不同的项目中,必然会遇到不同的问题。有些问题的出现,非常的无厘头,只能通过一步一步的去排查才能找到解决办法。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:06:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |