39、Cocos2d与UIKit视图的融合使用

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 ➤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值