IOS工程+cocos2d-x工程(跳转、代码对接篇)
IOS工程+cocos2d-x工程(工程整理篇):
http://www.jianshu.com/p/120650a22912
之前写了关于游戏工程和现有工程整合的,up现在也没完全搞好,现在补一发其他代码整合的,慢慢更新中
1,首先问题的关键是怎么启动,我的APP需求是在课程的详情页启动的,然后启动时需要c的代码,混合代码编译的话是需要在.mm文件,这里我在做demo的时候就直接利用原有文件了,首先观察原有代码:
这里显然是创建 eaglView,然后创建一个ViewController进去,再run启动即可.所以我们在需要跳转的页面进行创建,好了再启动

2,在跳转页面创建eaglView,然后跳转。这里我用的是navigationController,APP默认的是竖屏,所以先要设置可以横屏,旋转过来,然后再跳转,顺序不能错!
(1)在AppDelegate里面添加横竖屏设置

(2)在需要跳转的文件引入头文件

(3)创建View,跳转

(4)启动游戏

到此,游戏应该就启动成功了,当然,你可以依据你的需求设置不同的游戏id,资源路径去启动不同的游戏,我这个例子是启动特定的游戏的
附上:如何在IOS平台上使用js直接调用OC方法
http://www.cocos.com/doc/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework/html5/v3/reflection-oc/zh.md
3游戏退出部分,我找了工程里面,早coco2dx中可以调用文件的静态方法,所以可以暂时的解决方法给了出来,但是再次启动有问题,目前正在处理中:
(1)调用方法

(2)关闭游戏,返回APP之前界面

(3)返回跳转

到这里大家可以看到为什么我用的是push的方法,因为返回的时候要调用静态方法,我用的又是navigationController,总体来时基本流程跑通了
其实还有很多细节的要处理,主要是游戏的进入,APP退出到桌面,游戏退出,游戏重新打开这些,就不一一写出来了
up1周以后对上面的很多代码进行了修改,其实跳转旋转屏幕的时候有问题,后面待续