cocos2d-x与android原生来回切换

原先用cocos2d-x做了一个应用,不得不说挺费劲的,因为很多效果都需要自己写,关键是自己写得还不是很流畅。于是逐步改成原生的。

最基本的问题是sceneA-->activityB->cocos2dActivity->sceneC这种切换。因为android与coco2d用的不是同一套画布。切换过程中会出现sceneA->activityB->cocos2dActivity->sceneA->sceneC这种情况。我的方式是做了个过渡的场景sceneD,这样就可以sceneA->sceneD->activityB->cocos2dActivity->sceneD->sceneC。这样起码不会给人一种我明明点的是下一个操作,却要先显示上一个界面再显示下一个界面的情况。

期间存在两个问题:

从sceneD切换到activityB的时机应该是在sceneD在前端绘制完成后进行的。然而coco2d并没有提供这样的接口。实际上在onEnter里面只是进入,而非绘制完成。所以要做个延时。

从activityB切换回来时,coco2dActivity由于是个singleInstance,所以传参需要重写onNewIntent方法。但是要注意这个函数是在onResume之前执行的,这时cocos2d director还没有被唤醒,因此需要在onNewIntent时将参数保存,在onResume后切换scene,同样,这里也要做个延时。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值