cocos2d 2.0和UIKit混合编程, Push CCDirector的时候出现黑屏的天坑

症状

使用cocos2d 2.0和UIKit混合编程, 有一块用cocos2d编写的小程序, 将CCDirector push到一个UINavigationController里面. 虽然事先在后台初始化了cocos2d, 但在push的时候, CCDirector还是会显示为黑屏, 并且从右到左运动大概10%的距离后会卡一下, 然后push完成, 再过0.1s左右才会显示出来cocos2d的画面. 如下视频所示.

 

解决方案

网上对这个问题的讨论很少, 原因不是很清楚, 估计是因为cocos2d和UIKit使用了各自独立的OpenGL Context, 在push的时候, 两个context不一致, 导致cocos2d的buffer没有更新, 因此出现黑屏问题.

cocos2d论坛有一个类似的问题 http://www.cocos2d-iphone.org/forums/topic/cocos2d-2-0-device-ipad1-4-2-1-black-screen/

有一条建议是: Connect the CCGLView via IB and don’t init it via code.

果然, 就是这个问题!

因此, 要使用Interface Builder创建CCGLView, 而不能在代码里手动创建!

效果如下视频.

转载于:https://www.cnblogs.com/dabaopku/p/3561631.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值