Cocos2d与UIKit视图的融合使用
1. Cocos2d与UIKit的差异
Cocos2d在渲染视图方面速度更快,但它会失去一些UIKit应用程序的自动特性,比如自动旋转。实际上,所有UIKit视图都是由OpenGL ES渲染的,但对于游戏开发来说,UIKit背后为图形用户界面所需的大量操作会造成性能浪费,早期完全用UIKit、Core Graphics和Core Animation编写的游戏往往运行缓慢且响应不灵敏。
Cocoa Touch和Cocos2d在自动旋转处理上有明显差异。不过,Cocos2d引擎最终解决了这个问题,使得UIKit和Cocos2d视图都能旋转,但会有性能损失。而且在某些情况下,尤其是视图旋转时,需要考虑UIKit和OpenGL ES使用的坐标系差异。
Cocos2d直接与图形硬件交互,使用CCNode层次结构来显示图形元素,CCScene是该层次结构的第一个元素。而UIKit框架使用视图层次结构,通常以UIWindow为最顶层元素。这两个视图层次结构不兼容,不能将UIView添加到CCNode中,反之亦然。例如,在使用CCTransitionScene切换CCScene时,Cocos2d节点会移动,而UIKit视图会保持原位,除非单独同步移动它们,最好避免这种情况。
2. 在Cocos2d中添加第一个UIKit视图
在示例项目CocosWithCocoa01中,可以看到使用UIKit视图与Cocos2d结合的最简单示例,它在默认Cocos2d项目模板创建的场景上显示一个UIAlertView。
- 创建项目 :打开Xcode,选择“File ➤ New ➤
超级会员免费看
订阅专栏 解锁全文
41

被折叠的 条评论
为什么被折叠?



