加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d-x与android原生来回切换

发布时间:2020-12-14 21:37:13 所属栏目:百科 来源:网络整理
导读:原先用cocos2d-x做了一个应用,不得不说挺费劲的,因为很多效果都需要自己写,关键是自己写得还不是很流畅。于是逐步改成原生的。 最基本的问题是sceneA--activityB-cocos2dActivity-sceneC这种切换。因为android与coco2d用的不是同一套画布。切换过程中会出

原先用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,同样,这里也要做个延时。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读