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中各个单例已经封装的很好了。。。。
上个图,瞅瞅,主界面
没有runScene之前的界面
这个是UIKit调用Cocos2dx,然后UIKIT 里面来runScene(),和replaceScene(),并且在UIKIT里面生成 CCLabel和一个UIButton并添加到Cocos2dx,然后再调用Cocos2dx去生成一个UIButton。。。。。。
能够想到的功能基本都有了。。。。