cocos2dx UIKit hybrid, UIKit cocos2d-x 混合编程

0,说明: 网上有N多的前辈弄过这玩意,包括但是不限于:http://raywenderlich.com;泰然,diwu。 虽然由于版本更新,大部分都跑不起来了,但是这种折腾的精神是要发扬的。


1,为啥要弄这玩意?

答: 0 疼 


2;完整Demo(cocos2dx-2.1.4 这个版本其实影响不大,xcode5,ios7)

https://github.com/chenee/UIKit-cocos2d-X


3;步骤。

1、 首先新建个cocos2dx的工程。

2、看main.m文件。如下:

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    int retVal = UIApplicationMain(argc, argv, nil, @"AppController");

    [pool release];

    return retVal;

其中,UIApplicationMain(。。。),就是iOS程序的入口函数。建议看下帮助,帮助提到第4个参数@“AppController”被设置为UIApplicaion的delegate,并且会被UIApplication初始化。

在UIApplication运行的过程中,回调函数有很多,其中我们最熟悉也最关心的是:(见AppController.mm文件)


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {


这里可以看到,cocos2dx做了一些初始化:



(下班了。。。 去健身 有空在写。。。大家直接看Demo 代码吧,很easy)


所有的cocos2dx的图形都是在GLView里面,当成普通UIView,剩下了就没有任何理解上的难度了。

至于如何操作数据,唯一的关键点就是“句柄”,而Cocos2dx中各个单例已经封装的很好了。。。。


上个图,瞅瞅,主界面

cocos2dx UIKit hybrid, UIKit cocos2d-x 混合编程_第1张图片

没有runScene之前的界面

cocos2dx UIKit hybrid, UIKit cocos2d-x 混合编程_第2张图片

这个是UIKit调用Cocos2dx,然后UIKIT 里面来runScene(),和replaceScene(),并且在UIKIT里面生成 CCLabel和一个UIButton并添加到Cocos2dx,然后再调用Cocos2dx去生成一个UIButton。。。。。。

能够想到的功能基本都有了。。。。



你可能感兴趣的:(cocos2d-x,UIKit,hybrid,混合编程)