原先用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,同样,这里也要做个延时。
总结以上是内存溢出为你收集整理的cocos2d-x与android原生来回切换全部内容,希望文章能够帮你解决cocos2d-x与android原生来回切换所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)